gpt4 book ai didi

c# - ASCII 比较和字符串比较的区别

转载 作者:太空狗 更新时间:2023-10-29 20:02:50 25 4
gpt4 key购买 nike

我正在使用 C#。当我比较两个 char 值时,它会向我发送正确的输出,例如,

'-'.CompareTo('!') //Its sending me positive value 12

表示 '-' > '!'true

但是当我比较两个相同值的字符串时,它会给我发送不同的结果

"-".CompareTo("!") //Its sending me negative value -1

表示 "-"> "!"false

谁能解释一下为什么要这样做?对于这两种情况,它不应该是“真实的”吗?

最佳答案

String 的 Compare 方法是特定于文化的。这就是为什么你会得到不同的结果。请改用 string.CompareOrdinal,这是逐字节比较。

var v = '-'.CompareTo('!');//12
var s = string.CompareOrdinal("-", "!");//12

Best Practices for Using Strings in the .NET Framework

关于c# - ASCII 比较和字符串比较的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24950635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com