0

在 JavaScript 中,我们可以OR像这样使用两个对象/属性:-

var myURL = window.URL || window.webkitURL;

function doKey(e) {
    var evt = e || window.event; // compliant with ie6      
    //Code
}

我们可以ORC# 类对象吗?

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();

        }
    }
}

错误:-

Operator '??' cannot be applied to operands of type 'MultipleCast.Program.SpecificClass1' and 'MultipleCast.Program.SpecificClass2'

4

2 回答 2

6

合并运算符( ??) 将为您执行此操作:

var temp = sc1 ?? sc2;

如果sc1nulltemp将会是sc2

于 2014-02-24T13:23:56.573 回答
-2

如果您覆盖该类的运算符,那么您可以这样做,它会完全按照您的意愿行事。

s。这里怎么做:http: //msdn.microsoft.com/en-us/library/aa288467 (v=vs.71).aspx

于 2014-02-24T13:25:35.613 回答