VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • c#语法学习泛型gereric

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net

/*
*CreatedbySharpDevelop.
*User:Administrator
*Date:2008/9/4
*Time:上午10:40
*泛型(gereric)
*/
usingSystem;
classStack
{
  privateint[]items;
  privateintcount;
  publicStack(intsize)
  {
    items=newint[size];
    count=0;
  }
  publicvoidPush(intx)
  {
    items[count++]=x;//這時是先賦值再進行自加咚?lt;br />  }
  publicintPop()
  {
    returnitems[--count];//先自減再返回值
  }
}
classTest
{
  staticvoidMain()
  {
    Stacks=newStack(10);
    s.Push(111);//先壓入111
    s.Push(222);//再壓入222
    Console.WriteLine(s.Pop().ToString());
    Console.WriteLine(s.Pop().ToString());
    /*
    *輸出結果為
    *222
    *111
  *這個程序演示了棧(Stack)的先進後出的原理
    */
  }
}
  
/*
*CreatedbySharpDevelop.
*User:Administrator
*Date:2008/9/4
*Time:上午10:40
  *泛型(gereric)
  *現在需要改變我們希望可以傳入float類型的數據
  *因此我們使用了弱類型的object,這時候我們傳入
  *的參數就可以是整行和其它類型的數據.
  *
  *因為需要經過四次裝箱和拆箱操作,性能也就不是很好.
  *當然是說大量的數據情況下
*/
usingSystem;
classStack
{
  privateobject[]items;
  privateintcount;
  publicStack(intsize)
  {
    items=newobject[size];
    count=0;
  }
  publicvoidPush(objectx)
  {
    items[count++]=x;//這時是先賦值再進行自加咚?lt;br />  }
  publicobjectPop()
  {
    returnitems[--count];//先自減再返回值
  }
}
classTest
{
  staticvoidMain()
  {
    Stacks=newStack(10);
    s.Push(111.1);//裝箱
    s.Push(222.2);//裝箱
    Console.WriteLine((double)s.Pop()+(double)s.Pop());//兩次折箱
  }
}
  
/*
*CreatedbySharpDevelop.
*User:Administrator
*Date:2008/9/4
*Time:上午11:01*泛型(gereric)
  *解決了性能上的問題,同時寫程序也會覺的更方便
  *它引進行了一個類型參數
*/
usingSystem;
classStack<T>//聲明泛型
{
  privateT[]items;
  privateintcount;
  publicStack(intsize)
  {
    items=newT[size];
    count=0;
  }
  publicvoidPush(Tx)
  {
    items[count++]=x;//這時是先賦值再進行自加咚?lt;br />  }
  publicTPop()
  {
    returnitems[--count];//先自減再返回值
  }
}
classTest
{
  staticvoidMain()
  {
    Stack<int>s=newStack<int>(10);
    s.Push(111);
    s.Push(222);
    Console.WriteLine(s.Pop()+s.Pop());
  }
}
  /*上面使用了泛型,這樣提高了程序的性能,不再需要進行裝箱和拆箱的動作
  *
  *如果我們現在需要使用小數只需要把泛型的類型參數改為double就可以了.
*
*
**/
  
/*
*CreatedbySharpDevelop.
*User:Administrator
*Date:2008/9/5
*Time:上午11:32
*兩個泛型參數的例子,通常用<T,S>
*/
usingSystem;
publicclassStu<T,S>
{
  privateTname;
  privateSage;
  publicStu(TName,SAge)
  {
    this.name=Name;
    this.age=Age;
  }
  publicvoidShow()
  {
    Console.WriteLine("姓名是:{0},年齡:{1}",name,age);
  }
}
classTest
{
  staticvoidMain()
  {
    Stu<string,int>t=newStu<string,int>("Athrun",26);
    t.Show();
  }
}
 


相关教程