相关疑难解决方法(0)

使用LINQ保留订单

我在有序数组上使用LINQ to Objects指令.我不应该做哪些操作来确保数组的顺序没有改变?

c# linq arrays sorting data-structures

346
推荐指数
4
解决办法
5万
查看次数

Linq Where Contains ...保持默认顺序

我有一个ID号的集合,我希望返回一些对象,我是通过使用linq语句来实现的,其中使用了包含语句的地方:

var recentCats = (from i in EntityCache.Default.GetAll<Categories>()
                          where WebProfile.Current.RecentlyCreatedCategories.Contains(i.Id)
                          && BoundCategory.ParentItemClass.Id.Equals(i.ParentItemClass.Id)
                          select new CategoryInfo()
                          {
                              Category = i,
                              ClassId = i.ParentItemClass.Id,
                              ClassImage = NamedResourceManager.GetResourceBinary(i.ParentItemClass.NameResourceId)
                          });
Run Code Online (Sandbox Code Playgroud)

这完全正常,除了我想保持返回集合中的项目顺序与它们在列表中的顺序相同.例如,如果我有一个ID列表:14,603,388,我想要返回的对象的顺序不同,而不是缓存返回的顺序.有没有办法在实体框架中执行此操作,或以任何方式执行此操作而不涉及我编写foreach循环?

谢谢

c# linq entity-framework

6
推荐指数
1
解决办法
2151
查看次数

LINQ查询的结果是否始终保证正确的顺序?

问题:LINQ查询的结果是否始终保证正确的顺序?

例:

int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; 

var lowNums = 
  from n in numbers 
  where n < 5 
  select n; 
Run Code Online (Sandbox Code Playgroud)

现在,当我们浏览查询结果的条目时,它是否与订购输入数据numbers的顺序相同?

foreach (var x in lowNums) 
  { 
    Console.WriteLine(x); 
  } 
Run Code Online (Sandbox Code Playgroud)

如果有人可以提供文档中的订单说明,这将是完美的.

c# linq

6
推荐指数
1
解决办法
155
查看次数

标签 统计

c# ×3

linq ×3

arrays ×1

data-structures ×1

entity-framework ×1

sorting ×1