回答

收藏

不区分大小写的'Contains(string)'

技术问答 技术问答 344 人阅读 | 0 人回复 | 2023-09-11

有没有办法让下面的回归成真?
( l4 B0 v( d9 A
    string title = "ASTRINGTOTEST";title.Contains("string");, C0 q7 }+ U* Y# s. E
似乎没有允许我设置过载来区分大小写。目前我把它们都写了,但是很愚蠢(我指的是上下大小写带来的i18n问题)。
5 X# \# H+ p+ B                                                                $ ~" r( g9 R% w! W5 e
    解决方案:                                                               
1 N3 J; Z& k6 g+ b* j# G9 b9 i( R: s                                                                您可以使用String.IndexOfMethod并StringComparison.OrdinalIgnoreCase作为搜索类型的传输:
1 T" w0 r- g. H; m
    string title = "STRING";bool contains = title.IndexOf("string",StringComparison.OrdinalIgnoreCase) >= 0;; d+ X# w/ _; ?: Y: @) D! T/ M6 c; M
更好地为字符串定义一种新的扩展方法:; l. A, p% _; k6 C/ u- r0 D
    / o- O  M% g6 n9 O& G& v
  • public static class StringExtensions{    public static bool Contains(this string source,string toCheck,StringComparison comp)                                                                                                                                                                                                                 return source?.IndexOf(toCheck,comp) >= code]请注意,自 C# 6.0 (VS 2015年 可使用空传播 .,使用旧版本[code]if (source == null) return false;return source.IndexOf(toCheck,comp) >= 0;
    . q& Q, e4 ?: e+ X( h
用法:
. k- M- z2 C) u  }! g
    string title = "STRING";bool contains = title.Contains("string",StringComparison.OrdinalIgnoreCase);$ n6 V( C" A/ ~; ^$ v
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则