C#基础知识-文本关键字之Default

default 关键字有三种用法:

  • 指定 switch 语句中的默认标签。
  • 作为 default 默认运算符或文本生成类型的默认值。
  • 作为泛型方法重写或显式接口实现上的 default 类型约束。

第一种:

public static void Main()
{
   int caseSwitch = 1;

   switch (caseSwitch)
   {
       case 1:
           Console.WriteLine("Case 1");
           break;
       case 2:
           Console.WriteLine("Case 2");
           break;
       default:
           Console.WriteLine("Default case");
           break;
   }
}

第二种:

public class B
{
    int a = default(int);
    string b = default(string);
    
    public void Test<T>(T c = default)
    {
    }
}

第三种:

public abstract class B
{
    public void M<T>(T? item) where T : struct { }
    public abstract void M<T>(T? item);
}
public class D : B
{
    // Without the "default" constraint, the compiler tries to override the first method in B
    //没有default约束,编译器会尝试重写B类里的第一个同名方法,与B类里顺序无关
    public override void M<T>(T? item) where T : default { }
}

你可能感兴趣的:(C#知识,c#)