Met*_*anz 4 .net c# unicode string-comparison
我有两个字符串,一个是双字节值,另一个是单字节一个.字符串比较结果返回false,如何在忽略单字节/双字节差异后正确比较它们?
string s1 = "??????????11"
string s2 = "smatsumoto11"
Run Code Online (Sandbox Code Playgroud)
在同一场景中,如果SQL Server中有一个包含该值的nvarchar列,??????????11则使用具有该字符串的where条件获取数据的查询smatsumoto11将返回相同的行.我需要与C#字符串比较类似的语义.
我已经尝试了MSDN上提到的一些选项,但它们似乎不起作用.
有任何想法吗?
您s1包含所谓的"全宽"字符,因此您可以使用string.Compare并告诉它忽略字符宽度:
string.Compare(s1, s2, CultureInfo.CurrentCulture, CompareOptions.IgnoreWidth);
Run Code Online (Sandbox Code Playgroud)
(当然,CultureInfo如果需要,请指定不同的.)
| 归档时间: |
|
| 查看次数: |
2150 次 |
| 最近记录: |