1

我有一个这种类型的集合:

IEnumerable<FileInfo> files;

我正在尝试对文件进行排序,以便所有名为“index.js”的文件都将出现在列表的开头。我不介意其余文件的排序方式。

那将是什么 LINQ 查询?

4

3 回答 3

12

方法语法

files = files.OrderBy(x => x.Name == "index.js" ? 0 : 1);

查询语法

files = from x in files
        orderby x.Name == "index.js" ? 0 : 1
        select x;
于 2013-04-23T18:55:52.623 回答
2

试试这样;

var f = files.OrderBy(x => "index.js".Equals(x.Name) ? 0 : 1);
于 2013-04-23T18:58:21.507 回答
0

这是一种“聪明”的方式:

IEnumerable<FileInfo> ordered = files.OrderBy(x => "index.js".Equals(x.Name) ? 0 : 1);
于 2013-04-23T18:57:28.767 回答