C#ASP.NET for循环问题

C#ASP.NET for循环问题,c#,asp.net,loops,C#,Asp.net,Loops,在我的代码背后,我有一张名单……(特蕾西、米歇尔和蒂芙尼) 我有一个名为names的字符串,每个名称都被添加到该字符串中,但它显示如下(Tracy Michelle Tiffany) 在每个名字后面加逗号,在最后一个名字前面加上 这是我的一些代码 string names = ""; for(int i=0; i< GroupOfPeople.Count; i++) { GroupOfPeople nm = (GroupOfPeople) nm.

在我的代码背后,我有一张名单……(特蕾西、米歇尔和蒂芙尼)

我有一个名为names的字符串,每个名称都被添加到该字符串中,但它显示如下(Tracy Michelle Tiffany)

在每个名字后面加逗号,在最后一个名字前面加上

这是我的一些代码

    string names = "";

    for(int i=0; i< GroupOfPeople.Count; i++)
    {
         GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
         names += nm.FirstName;                        
    } 
字符串名称=”;
for(int i=0;i
如果您使用.NET 4.0或更高版本,则可以使用
字符串.Join
来获取
IEnumerable

做点像

for(int i=0; i< GroupOfPeople.Count; i++)
        {
            GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
                if(i < GroupOfPeople.Count - 1)
                    names += nm.FirstName + ", ";
                else
                     names += " and " + nm.FirstName;

         } 
for(inti=0;i
您是否尝试过
名称+=”、“+nm.FirstName
?然后抛出一个
if
条件,使其在姓氏之前加上一个
”和“
”,而不会看到更多的代码
string.Join()
(),并将您的姓名列表选择/投影到
IEnumerable
var names = string.join(
    ", "
,   GroupOfPeople.Cast<GroupOfPeople>().Select(nm => nm.FirstName)
); //             ^^^^^^^^^^^^^^^^^^^^^^ The above cast may be unnecessary
for(int i=0; i< GroupOfPeople.Count; i++)
        {
            GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
                if(i < GroupOfPeople.Count - 1)
                    names += nm.FirstName + ", ";
                else
                     names += " and " + nm.FirstName;

         }