我有一个这种类型的集合:
IEnumerable<FileInfo> files;
我正在尝试对文件进行排序,以便所有名为“index.js”的文件都将出现在列表的开头。我不介意其余文件的排序方式。
那将是什么 LINQ 查询?
方法语法
files = files.OrderBy(x => x.Name == "index.js" ? 0 : 1);
查询语法
files = from x in files
orderby x.Name == "index.js" ? 0 : 1
select x;
试试这样;
var f = files.OrderBy(x => "index.js".Equals(x.Name) ? 0 : 1);
这是一种“聪明”的方式:
IEnumerable<FileInfo> ordered = files.OrderBy(x => "index.js".Equals(x.Name) ? 0 : 1);