1


0

C#匿名タプル​​リスト

C#で匿名型のコレクションを初期化する_shorter_(できればよりエレガントな)方法を知っている人はいますか?

new[] {
     new[] { "B", "Banana" },
     new[] { "C", "Carrot" },
     new[] { "D", "Durian" },
}.Select(x => new {Value = x[0], Text = x[1] };

2 Answer


1


次のように、単一の配列を使用できます。

警告:先に忌まわしいコード!

object temp = null;

new object[] {
    "B", "Banana",
    "C", "Carrot",
    "D", "Durian"
}.Select((v, i) => i % 2 == 0 ? (temp = v) : new { Value = temp, Text = v })
 .Where((v, i) => i % 2 == 1)
 .ToArray() //Important!

これをしないでください、EVER!


1


あなたはそれをほとんど持っていた..

var myCollection = new[]
{
    new { Value = "B", Text = "Banana" },
    new { Value = "C", Text = "Carrot" },
    new { Value = "D", Text = "Durian" }
};