a.Name) 最佳答案 最简单的-6ren">
gpt4 book ai didi

Linq OrderBy 但如果 "the"忽略第一个单词

转载 作者:行者123 更新时间:2023-12-04 22:46:50 26 4
gpt4 key购买 nike

我有以下 linq 表达式来进行排序,但想知道如何更改它,以便它按名称排序,但如果它是“the”,则忽略第一个单词

CaseStudies.OrderBy(a => a.Name)

最佳答案

最简单的方法(如果总是小写 the 并且单词之间不超过一个空格):

CaseStudies.OrderBy(a => a.Name.StartsWith("the ") ? a.Name.Substring(4) : a.Name)

您可以创建具有良好描述性名称的方法,并在那里移动此逻辑以及空检查和忽略大小写比较:
private string RemoveDefiniteArticle(string s)
{
if (String.IsNullOrEmpty(s))
return s;

if (s.StartsWith("the ", StringComparison.CurrentCultureIgnoreCase))
return s.Substring(4).TrimStart();

return s;
}

并使用它
CaseStudies.OrderBy(a => RemoveDefiniteArticle(a.Name))

关于Linq OrderBy 但如果 "the"忽略第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com