-7

在我后面的代码中,我有一个名字列表......(Tracy、Michelle 和 Tiffany)

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

我怎么能在每个名字之后得到它,它给出一个逗号,在最后一个名字之前,放和..

这是我的一些代码

    string names = "";

    for(int i=0; i< GroupOfPeople.Count; i++)
    {
         GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
         names += nm.FirstName;                        
    } 
4

2 回答 2

2

如果您使用 .NET 4.0 或更高版本,您可以使用String.JoinIEnumerable<string>

var nameList = new List<string>();
for(int i=0; i< GroupOfPeople.Count; i++) {
    GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
    nameList.Add(nm.FirstName);
}
var names = string.join(", ", nameList);

如果没有看到界面,很难说GroupOfPeople是否可以在不创建显式列表的情况下执行此操作。如果有办法GroupOfPeople使用 LINQ 选择所有名字,请将该表达式插入最后一行以代替nameList

var names = string.join(
    ", "
,   GroupOfPeople.Cast<GroupOfPeople>().Select(nm => nm.FirstName)
); //             ^^^^^^^^^^^^^^^^^^^^^^ The above cast may be unnecessary
于 2013-04-05T20:08:17.437 回答
1

做类似的事情

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;

         } 
于 2013-04-05T20:09:16.390 回答