1. ホーム
  2. javascript

[解決済み] C#のarray.map()の例?

2022-11-28 19:11:05

質問

以下の一般的なJavaScriptの構成について考えてみましょう。

var ages = people.map(person => person.age);

希望する結果、年齢の配列が得られます。

でこれに相当するものは何でしょうか? C# ? 簡単な例も含めて教えてください。ドキュメントでは select または可能な selectAll を貼り付けて動作するような例をネットや他のSOの質問で見つけることができません。

可能であれば、次の配列を回す例をあげてください。 {1,2,3,4} を次のようにする例をあげてください。 {'1a','2a','3a','4a'} . 各要素について、最後に "a" を追加し、Integer から String に変更します。

どのように解決するのですか?

これは、投影と呼ばれるもので Select をLINQで使用します。これは新しい配列を返すわけではありません(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));