我怎样才能得到所有字符串的列表 "greater" 而不是 List<string> 中的特定值?
How can I get a list of all strings "greater" than a specific value in a List<string>?
考虑以下场景。我有一个字符串列表。
var list = new List<string> { "Ringo", "John", "Paul", "George" };
我需要在特定值之后对列表和 return 所有值进行排序。例如,如果我需要过滤掉名称“George”的值,我想 return:
{ "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
考虑以下场景。我有一个字符串列表。
var list = new List<string> { "Ringo", "John", "Paul", "George" };
我需要在特定值之后对列表和 return 所有值进行排序。例如,如果我需要过滤掉名称“George”的值,我想 return:
{ "John", "Paul", "Ringo" }
使用标准 List 方法或 linq 进行排序非常简单,但由于这些是文本字符串,我在弄清楚如何在 之后获取所有值时一片空白过滤器,因为您不能在 where 子句中使用大于号。
我该怎么做。 Linq 是首选,但不是必需的。
您可以在使用 StringComparer
:
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