真假值的 Stringcomparison OrdinalIgnoreCase

Pas*_*cal 5 c# string-comparison ordinal

这有意义吗?MyValue 可以是“真”或“假”

它不应该是 Stringcomparison.OrdinalIgnoreCase 吗?

MyValue.Equals("true", StringComparison.CurrentCultureIgnoreCase))
Run Code Online (Sandbox Code Playgroud)

pst*_*jds 2

这实际上取决于您的情况以及程序的其余部分是如何制定的。来自OrdinalCompareCase上的文档

OrdinalIgnoreCase 属性返回的 StringComparer 将要比较的字符串中的字符视为使用不变区域性的约定将其转换为大写字母,然后执行与语言无关的简单字节比较。当比较以编程方式生成的字符串或比较不区分大小写的资源(例如路径和文件名)时,这是最合适的。

所以基本上,如果这些值是文化独立的(以编程方式生成等),请使用OrdinalIgnoreCase