gpt4 book ai didi

C# 奇怪的字符串行为?

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:17 25 4
gpt4 key购买 nike

我有一个字符串变量如下:

string testVar = "abc ";

然后我有一个 if 语句如下:

if(this.testVar[this.testVar.Length-1].Equals(" "))

从上面我试图找到最后一个字符是否是空格,如果它是空格然后做一些事情。但是即使我的 testVar = "abc "?

它总是错误的

最佳答案

testVar[…] 返回一个 char,而不是一个 string。这就是为什么使用 stringEquals 测试总是返回 false。通过与 char 进行比较,您可以轻松解决此问题。你也不需要 Equals:

if (testVar[testVar.Length - 1] == ' ')

毫无值(value)的是,如果您最初使用 == 而不是 Equals,您将得到一个编译时错误 解释问题。这很好地说明了为什么使用早期绑定(bind)比后期绑定(bind)好(Equals 采用对象,因此不提供编译时类型检查)。

关于C# 奇怪的字符串行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428948/

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