相关疑难解决方法(0)

哪个通常最好用 - StringComparison.OrdinalIgnoreCase或StringComparison.InvariantCultureIgnoreCase?

我有一些像这样的代码:

If key.Equals("search", StringComparison.OrdinalIgnoreCase) Then
    DoSomething()
End If
Run Code Online (Sandbox Code Playgroud)

我不关心这个案子.我应该使用OrdinalIgnoreCase,InvariantCultureIgnoreCaseCurrentCultureIgnoreCase

.net vb.net localization

145
推荐指数
2
解决办法
6万
查看次数

比较char忽略大小写的正确方法是什么?

我想知道比较两个字符的正确方法是什么,而忽略了适用于所有文化的案例.另外,Comparer<char>.Default在不忽略大小写的情况下测试两个字符的最佳方法是什么?这对代理对有用吗?

编辑:添加了示例IComparer<char>实现

如果这有助于任何人这是我决定使用的

public class CaseInsensitiveCharComparer : IComparer<char> {
    private readonly System.Globalization.CultureInfo ci;
    public CaseInsensitiveCharComparer(System.Globalization.CultureInfo ci) {
        this.ci = ci;
    }
    public CaseInsensitiveCharComparer()
        : this(System.Globalization.CultureInfo.CurrentCulture) { }
    public int Compare(char x, char y) {
        return Char.ToUpper(x, ci) - Char.ToUpper(y, ci);
    }
}

// Prints 3
Console.WriteLine("This is a test".CountChars('t', new CaseInsensitiveCharComparer()));
Run Code Online (Sandbox Code Playgroud)

.net c# string comparison char

47
推荐指数
2
解决办法
5万
查看次数

标签 统计

.net ×2

c# ×1

char ×1

comparison ×1

localization ×1

string ×1

vb.net ×1