字符串之间的区别.ToLower 和 TextInfo.ToLower

本文关键字:ToLower TextInfo 区别 之间 字符串 | 更新日期: 2023-09-27 18:35:36

两者有什么区别?我应该什么时候使用它们中的每一个?

字符串之间的区别.ToLower 和 TextInfo.ToLower

没有。

string.ToLower打电话给幕后TextInfo.ToLower

从字符串.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);
    } 

字符串上的 ToLower 和 ToLowerInvariant 方法在调用时实际上会调用 TextInfo 虚拟属性。因此,它们始终承担此虚拟属性访问的开销。字符串类型方法在结果值上没有差异,但在某些情况下速度较慢。

全文+基准

为了简单起见,请使用str.ToLower()并忘记问题!