Vit*_*nko 2 c# windows-phone-7
我只找到了StringComparison,但这对于Contains不起作用.另一个必要的事情是忽略案例,而"ä"应该等同于"a".
public static bool CustomContains(this string source, string toCheck)
{
CompareInfo ci = new CultureInfo("en-US").CompareInfo;
CompareOptions co = CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace;
return ci.IndexOf(source, toCheck, co) != -1;
}
Run Code Online (Sandbox Code Playgroud)
在内部string.Contains
使用string.IndexOf传递一个StringComparison.Ordinal
.
所以我认为你可以轻松编写一个使用相同的Contains实现的方法
public bool CaseContains(string baseString, string textToSearch, StringComparison comparisonMode)
{
return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
}
Run Code Online (Sandbox Code Playgroud)
并打电话给
if(CaseContains(myString, mySearch, StringComparison.CurrentCultureIgnoreCase))
....
Run Code Online (Sandbox Code Playgroud)
这种方法的优雅演变是创建一种扩展方法
public static class StringExtensions
{
public static bool CaseContains(this string baseString, string textToSearch, StringComparison comparisonMode)
{
return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
}
}
Run Code Online (Sandbox Code Playgroud)
并打电话给
if(myString.CaseContains(mySearch, StringComparison.CurrentCultureIgnoreCase))
.....
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9559 次 |
最近记录: |