C# 声明模式
2023-01-14 21:54 作者:SunnieShine | 我要投稿
声明模式用于简单判断一个模糊的数据类型是否是某个具体的数据类型,并尝试将其转换过去。
注意语法 greeting is string message
的写法。C# 最开始允许 is
的写法是 obj is T
,而 T
之后写的变量指的是“如果 obj
确实是 T
类型的实例的话,那么 message
就可以使用了”。换句话说,这段代码等价于下面这样的代码:
即在大括号里等效进行类型转换。
2、声明模式仍可能会进行拆箱
假设我们原始的对象是装箱的操作:
那么,即使你使用这个语法来获取结果:
它也避免不了拆箱行为:因为它等于 o is int
后直接进行 int v = (int)o
的拆箱赋值操作,所以它会隐式地进行拆箱,它是避免不了的。