gpt4 book ai didi

c# - 我们可以缩短 s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase) 吗?

转载 作者:行者123 更新时间:2023-11-30 19:29:51 24 4
gpt4 key购买 nike

当我不区分大小写地比较两个字符串时,我使用:

if (s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase)) ...

我想在整个代码中缩短此语句,因为 String.Comparison.InvariantCultureIgnoreCase 非常冗长,尤其是在您必须进行多次比较时。

有没有办法给它取别名,以便在整个 MVC 项目中使用它?(我也有外部类我也必须添加这个别名)

最佳答案

您可以将相等比较器设为私有(private)静态变量,并在您的方法中使用该变量:

在你的类声明中:

private static readonly IEqualityComparer<string> EqIgnoreCase =
StringComparer.InvariantCultureIgnoreCase;

在你的方法中:

if (EqIgnoreCase.Equals(s1, s2)) {
// ...
}

这种方法的一个优点是它看起来是对称的;另一个是如果 s1s2null 则不会抛出。

关于c# - 我们可以缩短 s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917507/

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