Dav*_* S. 6 c# string cultureinfo string-comparison switch-statement
执行语句时如何比较字符串switch?线程/计算机的当前文化是否会影响switch评估?我养成了在比较字符串时总是指定比较器的习惯,因此如果能够确认这一点那就太好了。
switch
我怀疑是这样StringComparer.Ordinal,但我找不到任何相关文档。
StringComparer.Ordinal
mjw*_*lls 6
线程/计算机的当前文化是否会影响交换机评估?
不,不是的。
switch,Equals在幕后使用。因此它是序数的:
Equals
此方法执行序数(区分大小写且不区分区域性)比较。
我们如何知道switch用途Equals?那么文档指出:
常量表达式的计算如下: 如果 expr 和constant 是整型,则 C# 相等运算符确定表达式是否返回 true(即 expr ==constant)。 否则,表达式的值由调用静态 Object.Equals(expr,constant) 方法确定。
常量表达式的计算如下:
如果 expr 和constant 是整型,则 C# 相等运算符确定表达式是否返回 true(即 expr ==constant)。
否则,表达式的值由调用静态 Object.Equals(expr,constant) 方法确定。
后一个要点适用于此。
归档时间:
6 年,9 月 前
查看次数:
1381 次
最近记录: