使用delegates / LINQ在C#中转换嵌套类型

时间:2010-08-04 01:48:42

标签: c# linq generics

如何使用delegates / LINQ以简洁的方式在C#中将List<List<string>>转换为List<string[]>

3 个答案:

答案 0 :(得分:6)

我相信这样做会:

var result = (from list in listOfLists select list.ToArray()).ToList()

答案 1 :(得分:3)

var lists = new List<List<string>>();
List<string[]> arrays = lists.ConvertAll(l => l.ToArray());

答案 2 :(得分:2)

List<List<string>> listOfLists = new List<List<string>>();

listOfLists.Add(new List<string>(){ "bla", "foo", "bar"});
listOfLists.Add(new List<string>() { "alfa", "beta", "gama" });
listOfLists.Add(new List<string>() { "earth", "moon", "sun" });
listOfLists.Add(new List<string>() { "cat", "dog", "owl" });

List<string[]> listOfArrays = new List<string[]>();

listOfArrays = listOfLists.Select(l => l.ToArray()).ToList();