你好我有这样的可枚举(当我调试程序时说它是IEnumerable。我不知道IEnumberable足够)。 :
var result = from p in displayedParticipants
select new[] {
p.Country,
p.City,
p.SurveyStartDate.ToString("dd.MM.yyyy HH:mm"),
p.SurveyFinishDate.ToString("dd.MM.yyyy HH:mm"),
p.Device.ToString(),
p.IP.ToString(),
p.Longitude.ToString(),
p.Latitude.ToString(),
};
我有一个索引数组,指示从该结果中选择哪个字段,即结果对象是String数组的列表,每个String数组包含这些字段。
string[] toShow = {0,1}.
这意味着我只想获得第一和第三个字段(国家和城市)并删除所有其他字段。但IEnumerable不允许我删除任何操作。我该如何解决这个问题。谢谢你的帮助。
答案 0 :(得分:0)
IEnumerable不是列表或包含可以更改的内容的数组。 IEnumerable是可以枚举对象的东西。
但是您可以创建一个符合此IEnumerable的要求的列表(或数组):
string[][] yourResults =
result.Select(inner => new[]{inner[0], inner[1]}).ToArray();
答案 1 :(得分:0)
IEnumerable
或IEnumerable<T>
是允许枚举序列的接口,因此它们不是可以添加或删除项目的列表。您可以使用其他查询:
List<string[]> list = result
.Select(arr => toShow.Select(i => arr[i]).ToArray())
.ToList();