有没有人知道更短(希望更优雅)的方式来初始化C#中的匿名类型集合而不是以下方式:
new[] {
new[] { "B", "Banana" },
new[] { "C", "Carrot" },
new[] { "D", "Durian" },
}.Select(x => new {Value = x[0], Text = x[1] };
答案 0 :(得分: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!
答案 1 :(得分:1)
你几乎拥有它..
var myCollection = new[]
{
new { Value = "B", Text = "Banana" },
new { Value = "C", Text = "Carrot" },
new { Value = "D", Text = "Durian" }
};