【发布时间】:2010-12-12 17:05:08
【问题描述】:
有没有办法使用 LINQ 将 id=10 的项目作为列表中的第一项移动?
项目 A - id =5 项目 B - id = 10 项目 C - id =12 项目 D - id =1在这种情况下,我怎样才能优雅地将项目 C 移动到我的 List<T> 集合的顶部?
这是我目前最好的:
var allCountries = repository.GetCountries();
var topitem = allCountries.Single(x => x.id == 592);
var finalList = new List<Country>();
finalList.Add(topitem);
finalList = finalList.Concat(allCountries.Where(x=> x.id != 592)).ToList();
【问题讨论】:
-
您想将项目与顶部项目交换还是通过推动所有项目直到找到的项目向下来旋转项目。
-
没有;t finalList .insert(0,"neww stuff"); 工作