c# ASP.. NET for循环问题
本文关键字:循环 问题 for NET ASP | 更新日期: 2023-09-27 18:07:47
在我的代码后面,我有一个名字列表…(Tracy, Michelle and Tiffany)
,我有一个名为names的字符串,每个名字都被添加到字符串中,但它显示如下(Tracy Michelle Tiffany)
每个名字后面加逗号,最后一个名字前面加and.
这是我的一些代码
string names = "";
for(int i=0; i< GroupOfPeople.Count; i++)
{
GroupOfPeople nm = (GroupOfPeople) nm.GroupOfPeople[i];
names += nm.FirstName;
}
如果您使用的是。net 4.0或更新版本,则可以使用接受IEnumerable<string>
的String.Join
:
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
的接口,很难说是否有可能在不创建显式列表的情况下做到这一点。如果有一种方法可以使用LINQ从GroupOfPeople
中选择所有的名字,请将该表达式插入nameList
的最后一行:
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;
}