I have been trying to get reference in the Microsoft Developer website about what the function of the : really is but I cant find it because it seems that it is neither a keyword or a operator so what is the function of the colon in C#? Also I have seen it being applied to a Method how does that function?.
Colons are used in a dozen fundamentally different places (that I can think of, with the help of everyone in the comments):
Separating a class name from its base class / interface implementations in class definitions
public class Foo : Bar { }
Specifying a generic type constraint on a generic class or method
public class Foo<T> where T : Bar { } public void Foo<T>() where T : Bar { }
Indicating how to call another constructor on the current class or a base class's constructor prior to the current constructor
public Foo() : base() { } public Foo(int bar) : this() { }
Specifying the global namespace (as C. Lang points out, this is the namespace alias qualifier )
global::System.Console
Specifying attribute targets
[assembly: AssemblyVersion("1.0.0.0")]
Specifying parameter names
Console.WriteLine(value: "Foo");
As part of a ternary expression
var result = foo ? bar : baz;
As part of a case
or goto
label
switch(foo) { case bar: break; } goto Bar; Foo: return true; Bar: return false;
Since C# 6, for formatting in interpolated strings
Console.WriteLine($"{DateTime.Now:yyyyMMdd}");
Since C# 7, in tuple element names
var foo = (bar: "a", baz: "b"); Console.WriteLine(foo.bar);
In all these cases, the colon is not used as an operator or a keyword (with the exception of ::
). It falls into the category of simple syntactic symbols, like []
or {}
. They are just there to let the compiler know exactly what the other symbols around them mean.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.