gpt4 book ai didi

c# - 为什么当integer.equals(string)包含相同的值但不抛出类型不匹配异常时,它们给出false?

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

我有获取字符串作为输入的代码,并将其与整数进行比较。

我看到整数变量也有一个Equals函数,该函数接受字符串参数。

我直接使用它,以为它将进行类型转换。

它没有给出任何编译时或运行时错误,但始终给出错误的结果。

例如,

int sessionId = 1;

string requestId="1"

return sessionId.Equals(requestId);


sessionId.Equals(requestId)始终为假。

为什么会有这种行为的原因?如果有原因,为什么他们允许它正常运行?

最佳答案

整数和字符串始终不同,因此"1".Equals(1)返回false。

之所以进行编译,是因为object.Equals(object other)object作为右侧,因此可以接受任何类型。

关于c# - 为什么当integer.equals(string)包含相同的值但不抛出类型不匹配异常时,它们给出false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13493047/

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