c# - 我怎样才能得到所有字符串 "greater"的列表而不是 List<string> 中的特定值?

标签 c# string linq

考虑以下场景。我有一个字符串列表。

var list = new List<string> { "Ringo", "John", "Paul", "George" };

我需要对列表进行排序并返回特定值之后的所有值。例如,如果我需要过滤掉名称“George”的值,我想返回:

{ "John", "Paul", "Ringo" }

使用标准 List 方法或 linq 进行排序非常简单,但由于这些是文本字符串,所以我在弄清楚如何在特定过滤器之后获取所有值时一片空白,因为你可以'在您的 where 子句中给我们一个大于号。

我该怎么做。 Linq 是首选,但不是必需的。

最佳答案

您可以在使用 StringComparer 时尝试借助 Linq 进行查询:

  var list = new List<string> {"Ringo", "John", "Paul", "George" };

  string value = "George";

  var result = list
    .Where(item => StringComparer.OrdinalIgnoreCase.Compare(item, value) > 0)
    .OrderBy(item => item)
    .ToList(); // if you want to get a list as an answer

关于c# - 我怎样才能得到所有字符串 "greater"的列表而不是 List<string> 中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71679756/

相关文章:

c# - .NET 中的货币格式

c# - 如何创建一个名为 "checked"的属性?

c# - 在 while 循环中返回

c++ - C++返回字符数组相减的结果

javascript - 使用 .target.innerHTML 时我的输入总是返回 0

javascript - 检查长度为 5 的子字符串是否在另一个字符串中(重构)

c# - 无法在 C# 中访问没有 '\'(反斜杠)的子目录

c# - 自动映射错误: The type does not have a default constructor

带有左连接、分组依据且不带空列表的 LINQ 查询

c# - 扩展方法语法与查询语法