我有以下两个数组
var employeeIds = new [] {1, 2, 3, 4};
var employeeNames = new [] {"Sarah", "Connor", "Julia", "Igor" };
我需要Zip
他们,所以我可以将上述内容与数组合并,使索引employeeId
的{{1}}与索引n
的{{1}}合并。所以我可以获得如下的
employeeName
我如何在Linq中做到这一点?如果我可以在Linq中获得n
,那就可以了,但IEnumerable不是有序集合,因此没有索引。
答案 0 :(得分:5)
您提到Zip
- 为什么不使用它?
employeeNames.Zip(employeeIds, (name, id) => new { Id = id, Name = name });
Enumerable.Zip的MSDN:https://msdn.microsoft.com/library/dd267698(v=vs.100).aspx
此外,因为您提到它,您可以根据需要使用Select方法访问索引:
var employeeNames = new [] {"Sarah", "Connor", "Julia", "Igor" };
var indices = employeeNames.Select( (name, index) => index );