是 关键字及其结果

马修

成员
已加入
2020年8月15日
留言内容
23
编程经验
Beginner
嗨,大家好,

我开始学习C#,并完全被is关键字的行为所迷惑。
我了解在下面的示例中b的值将为true:

C#:
int number = 10;
bool b = number is int;

在下面的示例中,b的值将为false:
C#:
int number = 10;
bool b = number is 20

有点合乎逻辑,因为10!= 20,但是我认为is关键字检查某些事物是否具有特定类型而不具有相同的值。换句话说,我期望b为真,因为文字值20也是一个整数。

谢谢您的帮助!
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+

羊皮

知名会员
已加入
2018年9月5日
留言内容
1,982
编程经验
10+
您对这些有什么期望?
C#:
            string s = "str";
            bool bl = s is string;
C#:
            string s = "str";
            bool bl = s is "str";

我想你可能会误会 : 是-C#参考

  • 字型,它测试表达式是否可以转换为指定的类型,如果可以,则将其强制转换为该类型的变量。
  • 恒定模式,用于测试表达式是否求值为指定的常数。
  • var模式,该匹配始终成功,并将表达式的值绑定到新的局部变量。
 
最佳 底部