C# default 的两种用法

在微软的官方文档中可以看到 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 才能正常使用;对于结构体,此关键字将返回初始化为 零或空 的每个结构成员,具体取决于这些结构是值类型还是引用类型。

public class GenericList {private class Node {public Node next;public T Data;}private Node head;public T GetFirst() {T temp = default(T);if(head != null) {temp = head.data;}return temp}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部