在JavaScript中我们可以OR
两个对象/属性是这样的: -如何在C#中短路或分配?
var myURL = window.URL || window.webkitURL;
也
function doKey(e) {
var evt = e || window.event; // compliant with ie6
//Code
}
我们能否OR
C#类对象?
SpecificClass1 sc1 = new SpecificClass1();
SpecificClass2 sc2 = new SpecificClass2();
sc2 = null;
var temp = sc1 || sc2;
编辑: -
不适合我使用工作??
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MultipleCast
{
class Program
{
public class BaseClass {
}
public class SpecificClass1 : BaseClass
{
public string SpecificMethod1()
{
return "SpecificMethod1";
}
}
public class SpecificClass2 : BaseClass
{
public string SpecificMethod2()
{
return "SpecificMethod2";
}
}
public class SpecificClass3 : BaseClass
{
public string SpecificMethod3()
{
return "SpecificMethod3";
}
}
static void Main(string[] args)
{
SpecificClass1 sc1 = new SpecificClass1();
SpecificClass2 sc2 = new SpecificClass2();
sc1 = null;
var temp = sc1 ?? sc2;
Console.WriteLine(temp);
Console.Read();
}
}
}
错误: -
编译器不能推断出你想要'temp'变量的类型(因为'sc1'和'sc2'是不同类型的)。你必须声明你的'temp'变量为'BaseClass temp = sc1 ?? SC2;'。 – khellang