两者有什么区别?什么时候应该使用它们?
答案 0 :(得分:2)
字符串上的 ToLower 和ToLowerInvariant方法在调用时实际调用TextInfo虚拟属性。因此,它们始终承担此虚拟属性访问的开销。字符串类型方法在结果值上没有区别,但在某些情况下速度较慢。
为简单起见,请使用str.ToLower()
并忘记此问题!
答案 1 :(得分:2)
没有。
string.ToLower
在幕后调用TextInfo.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);
}