6

两者有什么区别?我应该什么时候使用它们?

4

2 回答 2

2

字符串上的ToLower和 ToLowerInvariant 方法在调用时实际上会调用 TextInfo 虚拟属性。出于这个原因,它们总是承载这种虚拟属性访问的开销。字符串类型方法的结果值没有差异,但在某些情况下速度较慢。

全文+基准

为了简单起见str.ToLower(),请忘记这个问题!

于 2012-05-28T14:05:15.213 回答
2

空无一人。

string.ToLowerTextInfo.ToLower幕后的呼唤。

来自 String.cs:

    // Creates a copy of this string in lower case. 
    public String ToLower() {
        return this.ToLower(CultureInfo.CurrentCulture); 
    }

    // Creates a copy of this string in lower case.  The culture is set by culture.
    public String ToLower(CultureInfo culture) { 
        if (culture==null) {
            throw new ArgumentNullException("culture"); 
        } 
        return culture.TextInfo.ToLower(this);
    } 
于 2012-05-28T14:06:33.853 回答