任何人都可以解釋代碼中「:」代表什麼。我瞭解代碼,但不知道這個「:」運算符背後的邏輯/條件。使用(邏輯):運算符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個字符串的構造函數來重載它。
這是該代碼的說明
謝謝,但我知道解釋,但「:」令我困惑。 –