从IEnumerable<;字符串[]>;
本文关键字:gt 字符串 lt IEnumerable | 更新日期: 2023-09-27 18:27:29
我有一个这样的枚举(当我调试程序时说它是IEnumerable<String[]>
。我对IEnumerable
了解不够):
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[] toShow = {0,1}.
这意味着我只想获得第一个和第三个字段(分别是国家和城市),并删除所有其他字段。但是IEnumerable<String[]>
不允许我进行任何删除操作。
我该如何解决这个问题?谢谢你的帮助。
IEnumerable不是一个包含可以更改内容的列表或数组。IEnumerable是可以枚举对象的东西。
但是,您可以从这个IEnumerable:中创建一个符合您需求的列表(或数组)
string[][] yourResults =
result.Select(inner => new[]{inner[0], inner[1]}).ToArray();
IEnumerable
或IEnumerable<T>
是允许枚举序列的接口,因此它们不是可以添加或删除项的列表。您可以使用另一个查询:
List<string[]> list = result
.Select(arr => toShow.Select(i => arr[i]).ToArray())
.ToList();