47

List<>まず、既にフレームワークにあるジェネリック クラスから離れたメソッドがList<>.

ただし、例として、 ForEach メソッドを記述して a の各オブジェクトを反復処理し、各オブジェクトに対して aList<>を実行する正しい構文は何ですかConsole.WriteLine(object.ToString())List<>を最初の引数として取り、ラムダ式を 2 番目の引数として取るもの。

私が見た例のほとんどは、拡張メソッドとして実行されているか、LINQ を含んでいます。昔ながらのメソッドの例を探しています。

4

7 に答える 7

77
public void Each<T>(IEnumerable<T> items, Action<T> action)
{
    foreach (var item in items)
        action(item);
}

...そしてそれを次のように呼び出します:

Each(myList, i => Console.WriteLine(i));
于 2008-12-04T00:11:13.540 に答える
50

これはあなたが求めているものですか?

int[] numbers = { 1, 2, 3 };
numbers.ToList().ForEach(n => Console.WriteLine(n));
于 2011-11-25T21:47:56.583 に答える
41

上記は、より少ないコードで次のように書くこともできます。

new List<SomeType>(items).ForEach(
    i => Console.WriteLine(i)
);

これにより、ジェネリック リストが作成され、IEnumerable が設定され、リスト オブジェクトの ForEach が呼び出されます。

于 2009-07-01T15:52:29.640 に答える
13
public static void Each<T>(this IEnumerable<T> items, Action<T> action) {
foreach (var item in items) {
    action(item);
} }

...そしてそれを次のように呼び出します:

myList.Each(x => { x.Enabled = false; });
于 2013-04-25T11:22:43.573 に答える
0

リスト内の各文字列をトラバースでき、1 つのステートメントを使用してジェネリック全体を検索することもできるため、検索が容易になります。

public static void main(string[] args)
{
List names = new List();

names.Add(“Saurabh”);
names.Add("Garima");
names.Add(“Vivek”);
names.Add(“Sandeep”);

string stringResult = names.Find( name => name.Equals(“Garima”));
}
于 2009-08-21T09:05:36.057 に答える