使用ForEach循环
通过与一个列表遍历我有一个字符串列表清单:使用ForEach循环
var list = new List<string> {"apples","peaches", "mango"};
有没有办法通过列表进行迭代,并且不使用foreach循环显示在控制台窗口的项目可能通过使用lambdas和代表。
我想输出到像下面每一个新行:
如下因素水果可供选择:
苹果
桃子
芒果
您可以使用String.Join
来连接所有行:
string lines = string.Join(Environment.NewLine, list);
Console.Write(lines);
这很好! – user1527762 2013-03-11 23:23:40
您可能只是救了我的命 – user3695961 2017-06-22 23:26:22
到目前为止,最明显的就是老式for
循环:
for (var i = 0; i < list.Count; i++)
{
System.Console.WriteLine("{0}", list[i]);
}
的重复好的,对我来说这是最清晰的版本,我最喜欢它。谢谢 – Combine 2015-07-05 07:57:44
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i])
}
我爱
list.ForEach(Console.WriteLine);
,因为它使用ForEach男主角它不使用foreach循环本身LINQ的这一方面。但是,嘿它仍然是一个迭代。
请注意,'List
从技术上说,我同意但这些功能通常与linq一起:-) – 2013-03-12 01:15:19
那么,你可以尝试以下方法:
Debug.WriteLine("The folowing fruits are available:");
list.ForEach(f => Debug.WriteLine(f));
这是非常相当于foreach
循环,但不使用foreach
关键字,
这就是说,我不知道你为什么想要在迭代对象列表时避免循环foreach
。
@PhilipKendall:感谢您的错字修复! – joce 2013-03-11 23:22:52
有三种方式来迭代列表:
//1 METHOD
foreach (var item in myList)
{
Console.WriteLine("Id is {0}, and description is {1}", item.id, item.description);
}
//2 METHOD
for (int i = 0; i<myList.Count; i++)
{
Console.WriteLine("Id is {0}, and description is {1}", myList[i].id, myMoney[i].description);
}
//3 METHOD lamda style
myList.ForEach(item => Console.WriteLine("id is {0}, and description is {1}", item.id, item.description));
你为什么想这样做没有'foreach'? – 2013-03-11 23:08:51
继承人提示:检索长度并从0迭代到长度-1 – 2013-03-11 23:09:57
有几十种方法可以做到这一点。有什么要求,为什么'foreach'不满足他们? – 2013-03-11 23:10:11