C#中的名称“:”运算符是什么

时间:2015-02-03 07:28:23

标签: c# asp.net-mvc

我在不同的采访中曾两次面对这个问题但是仍然没有得到任何人有想法的互联网满意答案? ..

问题是      c#中用于继承的运算符名称是什么?

3 个答案:

答案 0 :(得分:8)

这个"运营商"没有名字,这也是一个问题,它是否真的被认为是一个运营商。

如果您查看official list of C# operators,则无法找到它,这表明Microsoft并不将其视为运营商。

但是,如果你查看关于类继承和接口实现的官方文档和信息,你会发现它被称为" :运算符", 建议微软至少认为它是一种运营商。

您可以在此处找到后者的示例:Inheritance and Derived Classes (C# vs. Java)

  

在C#中,继承和接口实现都由: 运算符定义,相当于Java中的extends和implements。基类应该始终在类声明中最左边。

(我的重点)

我从来没有用不同的名字看过它,所以可能是访谈者来自Java世界,或者看过它的Java名称,它有更正式的名称。

请注意,术语运算符通常保留用于涉及操作的符号,与作为所述操作的参数的操作数一起使用。这些都不适用于类声明,这只是用于表示声明语法的不同部分的符号。

答案 1 :(得分:0)

需要澄清术语。运算符是构造,它们出现在表达式中,并且具有操作数和结果。

F.e。,有comma operator,它提供表达式的顺序计算,结果等于最后一个表达式的结果。

但是其他上下文中的逗号不是运算符,而是分隔符。

关于继承环境中的冒号,它不是运算符也不是分隔符,它的语法结构没有单独的名称。

答案 2 :(得分:0)

在c#中,:运算符与?一起使用,当必须使用if else的简写时,它被称为三元运算符 例如,

int i = 0;
if(isSomething == true)
{
i = 1
}
else if(isSomething == false)
{
i = 2
}

或者可以使用:

i = isSomething == true ? 1 : 2

Double :运算符::也用于访问命名空间别名限定符。它始终位于两个标识符之间,如下例所示:

global::System.Console.WriteLine("Hello World");