C# 哪个字符串比较器与switch语句一起使用?
执行C# 哪个字符串比较器与switch语句一起使用?,c#,string,switch-statement,string-comparison,cultureinfo,C#,String,Switch Statement,String Comparison,Cultureinfo,执行switch语句时如何比较字符串?线程/计算机的当前区域性是否影响开关评估?我养成了在比较字符串时总是指定一个比较器的习惯,所以最好能确认这一点 我怀疑它是StringComparer.Ordinal,但我找不到任何关于它的文档 线程/计算机的当前区域性是否影响交换机 评估 不,没有 开关,在盖子下使用。因此,它是有序的: 此方法执行顺序(区分大小写和 (文化不敏感)比较 我们如何知道开关使用等于?良好状态: 常数表达式的计算如下所示: 如果expr和constant是整数类型,则C#相等
switch
语句时如何比较字符串?线程/计算机的当前区域性是否影响开关
评估?我养成了在比较字符串时总是指定一个比较器的习惯,所以最好能确认这一点
我怀疑它是StringComparer.Ordinal
,但我找不到任何关于它的文档
线程/计算机的当前区域性是否影响交换机
评估
不,没有
开关
,在盖子下使用。因此,它是有序的:
此方法执行顺序(区分大小写和
(文化不敏感)比较
我们如何知道开关
使用等于
?良好状态:
常数表达式的计算如下所示:
- 如果expr和constant是整数类型,则C#相等运算符 确定表达式是否返回true(即expr =常数)
- 否则,表达式的值由对 静态对象。等于(expr,常量)方法
后一个要点适用于此处。请参阅源代码:因此,它并没有真正使用
StringComparer.Ordinal
,而是在进行相同的比较。实际上是@DavidS。虽然显示StringComparer.Ordinal
使用String.Equals
(而不是相反)。