【发布时间】:2018-03-25 17:20:54
【问题描述】:
我开始看到这些陈述,我正试图围绕这些陈述进行思考。
if (obj is SomeAuto car)
{
//Do stuff
}
如果我理解正确,我们基本上是将 obj 转换为变量 car ,这将是“SomeAuto”类型?
1) 本声明的官方术语是什么?
2) 如果我想将 if 语句更改为因特定原因有条件地执行会发生什么?
例如说 SomeAuto 是一个基类,我只想要某种类型的汽车,或者说我想要所有的 SomeAuto,除了一种特定的类型。
【问题讨论】:
-
看起来像 C#7 类型的模式匹配:docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
-
UnholySheep 回答 1) ,对于 2) 你可能需要另一种模式。
-
另外,2个问题应该是2个问题。您可以编辑并添加一个您不知道术语是什么的免责声明,并只回答有关添加额外条件的问题
-
@PrivateJoker - 请给出您针对第二个问题所指的具体案例,因为在当前状态下,它使问题过于宽泛。 (更好的是将该部分删除到另一个问题中
标签: c#