分享

C# default 的两种用法

 勤奋不止 2020-08-26

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

  • 用于 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<T> {
    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
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多