【问题标题】:Another issue about LINQ关于 LINQ 的另一个问题
【发布时间】:2013-08-09 19:17:31
【问题描述】:

是不是可以在这个LINQ指令中加一个字段,在对列表进行排序时排除包含单词的文件?

Dim Files As List(Of IO.FileInfo) = _
Get_Files(Directory, True, ValidExtensions) _
.OrderBy(Function(x) x.Name.ToLower.Contains("word")) _
.ThenBy(Function(x) x.Extension).ToList

我想要的是添加一个字段以从包含单词的列表文件的创建中排除,我知道我可以在获取文件的函数 (Get_Files) 中排除它们,但我想知道它是否可能使用 LINQ 来完成。

【问题讨论】:

  • 如果您想要名称包含"word" 在顶部的文件,您知道您需要使用OrderByDescending 吗?
  • 我不知道,但无论如何我希望它们在底部,谢谢您的评论。

标签: .net vb.net linq sorting


【解决方案1】:

添加Where 子句

.Where(Function(x) x.Name.ToLower.Contains("skip") = False)
.OrderBy(Function(x) x.Name.ToLower.Contains("word")) _
.ThenBy(Function(x) x.Extension).ToList

【讨论】:

    【解决方案2】:
    Dim Files As List(Of IO.FileInfo) = _
    Get_Files(Directory, True, ValidExtensions) _
    .Where(Function(x) Not x.Name.ToLower.Contains("your word")) _
    .OrderBy(Function(x) x.Name.ToLower.Contains("word")) _
    .ThenBy(Function(x) x.Extension).ToList
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2021-03-11
      • 2011-05-02
      相关资源
      最近更新 更多