如何将system.linq.IQueryable <int?>转换为int?[] </int?>

时间:2014-12-05 06:02:19

标签: c# linq entity-framework

foreach (var app in allList)
{
    int?[] ids = Context.tblTransactionDetails
        .Where(x => x.IsActive == true)
        .Select(x => x.AdvertID);
}

1 个答案:

答案 0 :(得分:5)

在C#中,T[]指定类型为T数组。要从序列中获取数组,请使用ToArray()扩展方法:

foreach (var app in allList)
{
    int?[] ids = Context.tblTransactionDetails
        .Where(x => x.IsActive == true)
        .Select(x => x.AdvertID)
        .ToArray();
}

请注意,这将评估表达式并将序列的所有元素加载到内存中。如果你不同时需要所有的元素(在大多数情况下,你真的没有),这可能不是你想要的。