通過與一個列表遍歷我有一個字符串列表清單:使用ForEach循環
var list = new List<string> {"apples","peaches", "mango"};
有沒有辦法通過列表進行迭代,並且不使用foreach循環顯示在控制檯窗口的項目可能通過使用lambdas和代表。
我想輸出到像下面每一個新行:
如下因素水果可供選擇:
蘋果
桃子
芒果
通過與一個列表遍歷我有一個字符串列表清單:使用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
您可以使用List<T>.ForEach
方法,這實際上是不是LINQ的一部分,但看起來就像是:
list.ForEach(i => Console.WriteLine(i));
那麼,你可以嘗試以下方法:
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