在没有循环的情况下迭代IList中的对象属性

use*_*467 0 c# ilist

考虑以下情况:

public class Employee
{
    public string Name {get; set}
    public string Email {get; set}
}

public class EnployeeGroup
{
    //List of employees in marketting
    public IList<Employee> MarkettingEmployees{ get; }

    //List of employees in sales
    public IList<Employee> SalesEmployees{ get; }
}

private EnployeeGroup GroupA;

int MarkettingCount;
string MarkettingNames;

MarkettingCount = GroupA.MarkettingEmployees.Count; //assigns MarkettingCount=5, this will always be 5-10 employees
MarkettingNames = <**how can i join all the GroupA.MarkettingEmployees.Name into a comma separated string?** >

//I tried a loop:
foreach(Employee MktEmployee in GroupA.MarkettingEmployees)
{
    MarkettingNames += MktEmployee.Name + ", ";
}
Run Code Online (Sandbox Code Playgroud)

循环工作,但我想知道:

  1. 循环是最有效/优雅的方式吗?如果没有,那么更好的选择是什么?我试过string.join但是无法让它工作..
  2. 我想避免Linq ..

Tim*_*ter 5

无论你喜欢与否,你都需要一点LINQ;)

MarkettingNames = string.Join(", ", GroupA.MarkettingEmployees.Select(e => e.Name));
Run Code Online (Sandbox Code Playgroud)

  • +1因为你的编辑让我发笑(你的回答是100%正确的). (2认同)