【发布时间】:2014-04-29 12:46:40
【问题描述】:
基本上我有一个包含所有项目的列表。然后我有一个字符串,其中包含我想从列表中获取的 ID,为此我将字符串拆分为一个 Int 数组,然后使用它和 LINQ 从列表中获取我想要的项目
像这样:
List<T> lstAllList = Model.getAllItems();
string stringIDs = "8,9,12,11,7";
int[] intArray = stringIDs.Split(',').Select(n => Convert.ToInt32(n)).ToArray();
List<T> lstLimitedList = (from r in lstAllList where intArray.Contains(r.id) select r).ToList();
效果很好。
但这里的问题是我希望我的列表以与 ID 字符串相同的方式排序,即 8,9,12,11,7 就像在这个例子中一样。 但是LINQ返回的列表默认是按照id排序的,所以返回的列表是7,8,9,11,12。
有没有办法防止它像这样对它进行排序,或者有没有办法用我的 int 数组对新列表进行排序?
【问题讨论】:
标签: c# arrays linq list sorting