我有以下内容:
var resourceids = racks.Select(a => a.Technology.IT360ID.Value);
var resource = repository.GetResources(resourceids);
但我不确定如何将其转换var resourceids为long[]我的存储库方法接受long[]
假设a.Technology.IT360ID.Value是 a longthenresourceids实际上是 a IEnumerable<long>。所以你只需要使用它来转换它ToArray():
var resourceids = racks.Select(a => a.Technology.IT360ID.Value).ToArray();
var resource = repository.GetResources(resourceids);
请记住,这var不是“类型” - 它只是让编译器确定类型而不是显式声明它。
这可能是显式声明类型而不是 using 更好的情况var:
long[] resourceids = racks.Select(a => a.Technology.IT360ID.Value).ToArray();
var resource = repository.GetResources(resourceids);
该方法Select将返回IEnumerable<long>。因此,要转换为long[],您可以调用ToArray()which 强制立即查询评估并返回包含查询结果的数组:
var resourceids = racks.Select(a => a.Technology.IT360ID.Value)
.ToArray();
var resource = repository.GetResources(resourceids);