zoukankan      html  css  js  c++  java
  • 一个泛型的问题。

    前段时间我还在纳闷,在上上篇设计模式的单例模式中,我只New过一次对象。但是查看我分明得到了2个或多个不同的对象。今天做个试验。代码如下

    通过实验发现,对象确实是new了两次,initial确实是进入了两次,对于不同泛型对象,是要重新开辟内存的。

    下面的文章做个资料保存。

    http://www.cnblogs.com/DebugLZQ/archive/2012/09/03/2669383.html

    http://msdn.microsoft.com/en-US/library/f4a6ta2h(v=vs.80).aspx

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace ConsoleApplication10
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             generictest<custom1>.List.Add(new custom1("custom1(1)"));
    13             generictest<custom1>.List.Add(new custom1("custom1(2)"));
    14             generictest<custom2>.List.Add(new custom2("custom2(1)"));
    15             generictest<custom2>.List.Add(new custom2("custom2(2)"));
    16             Console.ReadKey();
    17         }
    18     }
    19     class generictest<T>
    20     {
    21         private generictest()
    22         { }
    23         static private List<T> list=null;
    24          static public List<T> List
    25          {
    26              set
    27              {
    28 
    29                  list = value;
    30              }
    31              get
    32              {
    33                  if (list == null)
    34                  {
    35                      initial();
    36                  }
    37                  return list;
    38              }
    39          }
    40 
    41          private static void initial()
    42          {
    43              list = new List<T>();
    44          }
    45     }
    46     class custom1
    47     {
    48         public  string str;
    49         public custom1(string str)
    50         { 
    51         this.str=str;
    52         }
    53     }
    54     class custom2
    55     {
    56      public  string str;
    57         public custom2(string str)
    58         { 
    59         this.str=str;
    60         }
    61     
    62     }
    63 }
  • 相关阅读:
    PAT 1053 住房空置率
    PAT 1078 字符串压缩与解压
    PAT 1024 科学计数法
    HDU 2078 复习时间
    HDU 2065 "红色病毒"问题
    网络协议分析
    多线程同步
    多线程程序设计
    消息队列通讯
    共享内存通讯
  • 原文地址:https://www.cnblogs.com/07lyt/p/3996506.html
Copyright © 2011-2022 走看看