是否有一个与VB.NET等价的C# 7是操作符声明模式。?请特别注意以下代码示例中的bmp:
public void MyMethod(Object obj)
{
if (obj is Bitmap bmp)
{
// ...
}
}还是is的短模式匹配语法是C#独有的?
编辑:
我已经知道这些语法:
If TypeOf obj Is Bitmap Then
Dim bmp As Bitmap = obj
' ...
End If或
Dim bmp As Bitmap = TryCast(obj, Bitmap)
If bmp IsNot Nothing Then
' ...
End If我想知道的是是否有更短的东西,比如新的C#7是操作符声明模式..。
非常感谢。
发布于 2018-04-04 16:14:22
目前没有。如果您想实现这一点,您将不得不使用您在问题中已经提到的一些较长的格式。
C#和VB语言并不总是有相同的特性。
发布于 2019-05-14 15:38:27
如果使用一行
If obj is bitmap Then Dim bmp = obj或者使用内联if (这是if函数)。
Dim bmp = If(obj is bitmap, obj, Nothing)不是完全的模式匹配本身,但是做同样的事情。
你不能在C#中这样做吗:
var bmp = obj is bitmap ? obj : nothing;https://stackoverflow.com/questions/47495455
复制相似问题