次の一般的なJavaScript構造を考えてみましょう
var ages = people.map(person => person.age);
年齢の配列である望ましい結果を返します。
これに相当するものはC#? 簡単な例を含めてください。ドキュメントにselect
は可能と記載されていますselectAll
が、貼り付けて機能するオンラインの例や他の SO の質問が見つかりません。
可能であれば、次の配列を{1,2,3,4}
次の に変換する例を示してください{'1a','2a','3a','4a'}
。各要素の末尾に「a」を追加して、整数から文字列に変換します。
ベストアンサー1
これは、LINQ で呼び出される投影と呼ばれますSelect
。これは、新しい配列 (JavaScript のように.map
) を返すのではなく、を返しますIEnumerable<T>
。 を使用して配列に変換できます.ToArray
。
using System.Linq; // Make 'Select' extension available
...
var ages = people.Select(person => person.Age).ToArray();
Select
IEnumerable<T>
すべての配列実装で動作します。必要なのは .NET 3.5 とusing System.Linq;
ステートメントだけです。
2 番目の例では、次のようなものを使用します。配列は使用されず、シーケンスのみが使用されていることに注意してください。
var items = Enumerable.Range(1, 4).Select(num => string.Format("{0}a", num));