zoukankan      html  css  js  c++  java
  • default of c#

    default of c#

     在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T:

    • T 是引用类型还是值类型。

    • 如果 T 为值类型,则它是数值还是结构。

      给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效;只有当 T 为数值类型而不是结构时,语句 t = 0 才能正常使用。解决方案是使用default 关键字,此关键字对于引用类型会返回 null,对于数值类型会返回零对于结构,此关键字将返回初始化为零或 null 的每个结构成员,具体取决于这些结构是值类型还是引用类型。以下来自 GenericList<T> 类的示例显示了如何使用 default 关键字。

      

     1 public class GenericList<T>
     2 {
     3     private class Node
     4     {
     5         //...
     6 
     7         public Node Next;
     8         public T Data;
     9     }
    10 
    11     private Node head;
    12 
    13     //...
    14 
    15     public T GetNext()
    16     {
    17         T temp = default(T);
    18 
    19         Node current = head;
    20         if (current != null)
    21         {
    22             temp = current.Data;
    23             current = current.Next;
    24         }
    25         return temp;
    26     }
    27 }

    参考:http://msdn.microsoft.com/zh-cn/library/xwth0h0d(v=vs.90).aspx

  • 相关阅读:
    简单的使用rabbitmq的例子
    装饰者模式
    Zinterstore 命令
    策略模式
    简单工厂模式
    getFields()与getDeclaredFields()区别
    解决Jetty下EL版本冲突的问题
    网站ssl配置
    webservice 项目 配置wsdl
    js前端clone的要诀
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3946457.html
Copyright © 2011-2022 走看看