1

私はVS2008を使用しています。

引数が type のメソッドを持つ小さなユーザー コントロールがありますList<String>。定義に 1 つの String メンバー ( it と呼ぶ) が含まれるオブジェクト ( MyObjectListtypeと呼ぶ) のリストがあります。List<MyObject>myString

List<String>からすべてのmyString文字列を含むを取得したいMyObjectList

もちろん、すべての値をオブジェクトMyObjectListに追加して、 を通り抜ける小さなループを書くこともできます。しかし、私はできる限り現代的になろうとしています。myStringList<String>

ラムダ式の出現により、これを行うためのより良い方法があるに違いないと思います。ある?もしそうなら、どのように?VS 2012では答えが異なりますか?

4

1 に答える 1

4

List<MyObject>リストが であり、そのクラスMyObjectに プロパティがあると仮定すると、MyStringLINQ とラムダを使用してこれを行うことができます。

var listOfStrings = myObjectList.Select(o => o.MyString).ToList();

これは、.NET 3.0 以降を対象とするすべてのアセンブリで機能します。VS のバージョンは関係ありません。

于 2012-10-10T19:44:04.887 に答える