使用(逻辑):运算符C#
有人能解释一下“:”在代码中代表什么吗。我理解代码,但不知道这个“:”运算符背后的逻辑/条件使用(逻辑):运算符C#,c#,operators,colon,C#,Operators,Colon,有人能解释一下“:”在代码中代表什么吗。我理解代码,但不知道这个“:”运算符背后的逻辑/条件 public Constructor() : this("No names", string.Empty) { } 冒号在七个根本不同的地方使用(我可以想到,在评论中的每个人的帮助下): 在类定义或泛型约束定义中将类名与其基类/接口实现分离 public class Foo : Bar { } public class Foo<T> where T : Bar { } public
public Constructor() : this("No names", string.Empty)
{
}
冒号在七个根本不同的地方使用(我可以想到,在评论中的每个人的帮助下):
- 在类定义或泛型约束定义中将类名与其基类/接口实现分离
public class Foo : Bar { } public class Foo<T> where T : Bar { } public void Foo<T>() where T : Bar { }
- 指定全局名称空间(正如C.Lang指出的,这是
- 指定属性目标
[assembly: AssemblyVersion("1.0.0.0")]
- 指定参数名称
Console.WriteLine(value: "Foo");
- 作为三元表达式的一部分
var result = foo ? bar : baz;
- 作为
或案例
标签的一部分转到
switch(foo) { case bar: break; } goto Bar; Foo: return true; Bar: return false;
在所有这些情况下,冒号不用作运算符或关键字(除了
:
)。它属于简单语法符号的范畴,如[]
或{}
。它们只是让编译器确切地知道它们周围的其他符号的含义。在您的例子中,您有一个包含多个构造函数的类,所以
class构造函数()
有一个默认的(无参数)构造函数和一个以2个字符串作为参数的构造函数
如果有人调用默认构造函数,那么类将在内部调用构造函数,并使用两个字符串重载它
这就是代码的解释谢谢,但我知道解释,但“:”让我困惑。
var result = foo ? bar : baz;
switch(foo) { case bar: break; }
goto Bar;
Foo: return true;
Bar: return false;