【发布时间】:2021-10-21 02:52:25
【问题描述】:
我打赌在互联网上的某个地方必须有一些答案,但我在过去 30 分钟内没有找到它,我不知道如何正确地问这个问题。
我想将一些输入与多个对象类型进行比较,并将其放在同一个变量中,无论它是哪个对象。
if(input is typeOne || input is typeTwo)
在 C# 中,您可以像这样在 if 语句中初始化变量:
if(input is typeOne inputeTypeOne){
//i can use inputTypeOne here now
}
是否有可能做以下事情:
if(input is typeOne OR typeTwo inputType){
// use inputType no matter if typeOne or typeTwo
}
【问题讨论】:
-
如果
typeOne和typeTwo有共同的接口,那么为什么他们没有正式实现这个接口呢?所以你可以使用if(input is CommonInterface inputeType) -
TypeOne和TypeTwo有什么共同点?如果答案是“什么都没有”,那么您不能将它们放在同一个变量中(好吧,无论如何都没有任何用处)。 -
@Jamiec 好吧.. 我想你可以把它们放在
object;) -
@CaiusJard 在这一点上你不能用它做任何有用的事情(因此括号中的部分)
-
@Jamiec 也有例外,但如果您已经知道如何使用
object,我希望您已经知道答案。