c# default 用法 及解释

  • A+
所属分类:Unity3d

在微软的官方文档中可以看到 default 关键字在 C# 的两种用法

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/default

用于 switch 语句或默认值表达式中生成类型的默认值。对于引用类型,将为NULL;对于值类型将为零;对于结构,将为0位模式。这个通常和泛型一起使用。举个例子:
情景一:当switch的值符合case给出的值时,就会进入到case内部;如果所有的case都不满足,则会走到default语句

switch(color) {
  case Color.Red:
    console.log("red");
    break;
  case Color.Green:
    console.log("green");
    break;
  default:
    console.log("other");
    break;

情景二:给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构体时,语句 t = 0 才能正常使用;对于结构体,此关键字将返回初始化为 零或空 的每个结构成员,具体取决于这些结构是值类型还是引用类型。

Debug.LogError(default(bool));
Debug.LogError(default(int));
Debug.LogError(default(float));
Debug.LogError(default(string));
Debug.LogError(default(MonoBehaviour));
Debug.LogError(default(Color));

打印结果如下
c# default 用法 及解释

weinxin
我的微信
这是我的微信扫一扫
maple

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: