7

文字列のリストのリストがあります:

var list = new List<string> {"apples","peaches", "mango"};

foreachループを使用せずにリストを反復処理してコンソールウィンドウにアイテムを表示する方法はありますか?ラムダとデリゲートを使用することによって可能性があります。

出力を次のようにして、それぞれを新しい行に配置したいと思います。

次の果物が利用可能です:
りんご
もも
マンゴー

4

7 に答える 7

11

最も明白なのは古き良きforループです。

for (var i = 0; i < list.Count; i++)
{
    System.Console.WriteLine("{0}", list[i]);
}
于 2013-03-11T23:10:48.943 に答える
3
for (int i = 0; i < list.Count; i++)
    {
    Console.WriteLine(list[i])
    }
于 2013-03-11T23:11:09.907 に答える
1

List<T>.ForEach実際にはLINQの一部ではありませんが、次のように見えるメソッドを使用できます。

list.ForEach(i => Console.WriteLine(i));
于 2013-03-11T23:13:00.463 に答える
1

さて、あなたは次のことを試すことができます:

Debug.WriteLine("The folowing fruits are available:");
list.ForEach(f => Debug.WriteLine(f));

これはforeachループとまったく同じですが、foreachキーワードを使用していません。

foreachそうは言っても、オブジェクトのリストを反復処理するときにループを回避したい理由がわかりません。

于 2013-03-11T23:13:54.067 に答える
1

List を反復するには、次の 3 つの方法があります。

//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));
于 2016-09-22T10:07:08.147 に答える