List<int[]> A = ServiceItems.First()
.ServiceItemDetails.Select(x => new int[]{ x.Numbers}).ToList();
这给我一个整数数组列表。
我需要一个普通整数列表
我试过了:
List<int> A = ServiceItems.First()
.ServiceItemDetails.Select(x => new int{ x.Numbers})
.ToList();
哎哟!
无法使用集合初始化类型int ....不实现IEnumerable
我如何实现这一目标以及究竟发生了什么?
谢谢!
答案 0 :(得分:7)
目前尚不清楚,因为你没有告诉我们x.Numbers
是什么,但如果第一段代码确实给你List<int[]>
,那么它可能就像这样简单:
List<int> A = ServiceItems.First()
.ServiceItemDetails
.Select(x => x.Numbers)
.ToList();
如果是这种情况,并且x.Numbers
确实 是一个int
,那么建议您重新命名,如果可以的话 - 它当前声音就像一组数字。
答案 1 :(得分:4)
难道你不能拿出阵列部分吗?
List<int> A = ServiceItems.First().
ServiceItemDetails.Select(x => x.Numbers).ToList();
答案 2 :(得分:0)
尝试
List<int> A = ServiceItems.First().ServiceItemDetails.SelectMany(x => x.Numbers).ToList();
SelectMany()的行为类似于Select(),但具有“展平”生成的集合集合的效果。
答案 3 :(得分:0)
你的意思是你想将整数数组列表展平成一个整数列表吗?没有任何额外的排序/过滤/等。你可以使用.SelectMany()
。像这样:
var integers = ServiceItems.First().ServiceItemDetails.SelectMany(s => s.Numbers);
答案 4 :(得分:0)
我认为你只需要一个SelectMany来整理你的整数列表......
List<int[]> A = ServiceItems.First().ServiceItemDetails.SelectMany(x => x.Numbers).ToList();
答案 5 :(得分:0)
List<int[]> A = ServiceItems.First().ServiceItemDetails.Select(x => x.Numbers).ToList();
您不需要初始化int,因为您可以通过执行new int{...}
来初始化类。 int
是一种值类型,您可以直接为其分配值。