6

これはばかげた質問かもしれませんが、私は常に linq を使用して項目を選択してきました。

しかし、キーワードを使用して次の簡単なタスクを実行できるかどうかを知りたいです。

List<OrdersInfo> ordersList
.
.
.
foreach(OrdersInfo OI in ordersList)
        if(OI.TYPE == "P")
            OI.TYPE = "Project";
        else
        OI.TYPE = "Support";
4

4 に答える 4

6

List クラスの ForEach メソッドを使用できます。

ordersList.ForEach(oi => oi.TYPE = oi.TYPE == "P" ? "Project" : "Support" );

IEnumerable 型の ForEach メソッドが必要な場合は、独自の ForEach 拡張機能を作成できます。

public static void ForEach<T>(this IEnumerable<T> en, Action<T> action)
{
    foreach(T item in en)
    {
        action(item);
    }
}
于 2013-04-24T12:22:45.140 に答える
1

ForEachは Linq ソリューションではありませんが、次のようになります。

ordersList.ForEach(OI => OI.TYPE = OI.TYPE == "P" ? "Project" : "Support");

List<T>ではなく、インスタンスでのみ利用できますIEnumerable<T>

于 2013-04-24T12:24:44.273 に答える