同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁(yè) 優(yōu)化推廣 什么是泛型(C#)

什么是泛型(C#)

來(lái)源: | 時(shí)間:2011/4/18 14:04:21 |
所謂泛型是指將類型參數(shù)化以達(dá)到代碼復(fù)用提高軟件開發(fā)工作效率的一種數(shù)據(jù)類型。

一種類型占位符,或稱之為類型參數(shù)。我們知道一個(gè)方法中,一個(gè)變量的值可以作為參數(shù),但其實(shí)這個(gè)變量的類型本身也可以作為參數(shù)。泛型允許我們?cè)谡{(diào)用的時(shí)候再指定這個(gè)類型參數(shù)是什么。在.net中,泛型能夠給我們帶來(lái)的兩個(gè)明顯好處是——類型安全和減少裝箱、拆箱。 

 
  例如:通常一個(gè)方法或過(guò)程的簽名都是有明確的數(shù)據(jù)類型的。
 
  如 :
 
  public void ProcessData(int i){}
 
  public void ProcessData(string i){}
 
  public void ProcessData(decimal i){}
 
  public void ProcessData(double i){}
 
  等。
 
  這些方法的簽名中的:int ,string,decimal,double 都是明確的數(shù)據(jù)類型,程序員訪問(wèn)這些方法的過(guò)程中需要提供提定類型的參數(shù):
 
  ProcessData(123);
 
  ProcessData("abc");
 
  ProcessData("12.12")
 
  而如果我們將int ,string,decimal,double這些類型也當(dāng)成一種參數(shù)傳給方法的時(shí)候方法的定義便是這樣:
 
  public void ProcessData<T>(T i){} //T是int ,string,decimal,double這些數(shù)據(jù)類型的指代
 
  用戶在調(diào)用的時(shí)候便成了這樣:
 
  ProcessData<string>("abc");
 
  ProcessData<int>(123);
 
  ProcessData<double>(12.23);
 
  這與通常的那些定義的最大區(qū)別是,方法的定義實(shí)現(xiàn)過(guò)程只有一個(gè)。但是它具有處理不同的數(shù)據(jù)類型數(shù)據(jù)的能力。
 
  C# 2.0中有如List<>等泛型對(duì)象都具有此特性。
 
  具有泛型機(jī)制的軟件開發(fā)平臺(tái)及語(yǔ)言
 
  .Net 平臺(tái) 2.0及以上版本
 
  JAVA 5及以上版本
 
  泛型的好處:
 

  泛型是c#2.0的一個(gè)新增加的特性,它為使用c#語(yǔ)言編寫面向?qū)ο蟪绦蛟黾恿藰O大的效力和靈活性。它允許程序員將一個(gè)實(shí)際的數(shù)據(jù)類型的規(guī)約延遲至泛型的實(shí)例被創(chuàng)建時(shí)才確定。泛型為開發(fā)者提供了一種高性能的編程方式,能夠提高代碼的重用性,并允許開發(fā)者編寫非常優(yōu)雅的解決方案。

 

數(shù)據(jù)層:

public List<libs.Model.Artitle> GetAllArt()
       {
           List<libs.Model.Artitle> list = new List<Artitle>();
         
           string sqlconn = System.Configuration.ConfigurationSettings.AppSettings["sqlconn"];
           SqlConnection conn = new SqlConnection(sqlconn);
           string sqlstr = "select titleid,Title,author,company,Uploaddate,isVidate,conimages,content from writings order by titleid asc";
           SqlCommand cmd = new SqlCommand (sqlstr,conn);
          
           try
           {
               conn.Open();
               SqlDataReader reader = cmd.ExecuteReader();
               while (reader.Read())
               {
                   libs.Model.Artitle artles = new Artitle();
                   artles.Titleid = int.Parse(reader["titleid"].ToString());
                   artles.Title = reader["title"].ToString();
                   artles.Uploaddate = DateTime.Parse(reader["Uploaddate"].ToString());
                   list.Add(artles);
         

服務(wù)熱線

153 8323 9821

功能和特性

價(jià)格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號(hào)