任何人都可以解释代码中“:”代表什么。我了解代码,但不知道这个“:”运算符背后的逻辑/条件。使用(逻辑):运算符C#
public Constructor() : this("No names", string.Empty)
{
}
任何人都可以解释代码中“:”代表什么。我了解代码,但不知道这个“:”运算符背后的逻辑/条件。使用(逻辑):运算符C#
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 { }
指示如何之前调用当前类中的另一个构造函数或基类的构造函数,以目前的构造。
public Foo() : base() { }
public Foo(int bar) : this() { }
指定的全局命名空间(如C.郎指出,这是namespace alias qualifier)
global::System.Console
指定属性的目标
[assembly: AssemblyVersion("1.0.0.0")]
指定参数名称
Console.WriteLine(value: "Foo");
作为三元表达
var result = foo ? bar : baz;
的一部分作为case
或goto
标签的一部分。
switch(foo) { case bar: break; }
goto Bar;
Foo: return true;
Bar: return false;
在所有这些情况下,结肠不被用作操作员或关键字(与::
除外)。它属于简单句法符号的范畴,如[]
或{}
。他们只是为了让编译器确切地知道他们周围的其他符号是什么意思。
你的情况,你有多个构造一类,所以 的
class Constructor()
有默认(无参数)构造函数,构造机智2个字符串作为参数。
如果有人调用默认构造函数,那么该类将在内部调用带有2个字符串的构造函数来重载它。
这是该代码的说明
谢谢,但我知道解释,但“:”令我困惑。 –