我想创建一个可以迭代的匿名类型,接受一个字符串和一个字符串数组。目标是创建一个组列表,每个组包含人员:
我想知道这样的伪代码是否可行:
var myAnoty =new List<string, string[]>();
myAnoty.add("Programmers", ["Linus", "Bill", "Anders"]);
myAnoty.add("Users", ["John", "Melissa", "Bert"]);
正如Muzz在评论中指出的那样,我上面的伪代码没有使用匿名类型。下面的 Reed Copsey 回答正在使用它们:var m = new { Group = "Men", Members = new[] { "John", "Tom" } }
不使用匿名类型的工作演示
以下代码适用于 LinqPad:
void Main()
{
List<Object> myAnoties = new List<Object>();
myAnoties.Add(new Anoty {Group="Men", Member=new string[]{"John","Tom"}} );
myAnoties.Add(new Anoty {Group="Women", Member=new string[]{"Eve","Anna"}} );
myAnoties.Dump();
}
// Define other methods and classes here
class Anoty{
public string Group{get; set;}
public string[] Member{get; set;}
}
不使用匿名类型
以下代码使用匿名类型。但不知何故,字符串数组不适用于匿名类型。
var m = new { Group= "Men", Member=string[]{"John","Tom"}};
var w = new { Group= "Women", Member=string[]{"Eve","Anna"}};
List<object> myAnoties = new List<object>();
myAnoties.Add(m);
myAnoties.Add(w);
有没有办法让我的伪代码var x = new List<string,string[]>()
或匿名类型(如上)的东西运行?
谢谢