• λ我爱Aspx >> C#.Net >> c#2.0泛型学习(一) _C#教程
  • c#2.0泛型学习(一) _C#教程

  • :aspxer  Դ:internet  :2007-4-28 20:58:05  ؼ:c#
  • 根据微软的视频教程"跟我一起学Visual Studio 2005C#语法篇"来学,因为里面有比较多的代码示例,学起来比较容易好理解

    1.未使用泛型的Stack类

    1using System;

    2

    3public class Stack

    4{

    5 readonly int m_Size;

    6 int m_StackPointer = 0;

    7 object[] m_Items;

    8 public Stack(): this(100)

    9 { }

    10 public Stack(int size)

    11 {

    12 m_Size = size;

    13 m_Items = new object[m_Size];

    14 }

    15 public void Push(object item)

    16 {

    17 if (m_StackPointer >= m_Size)

    18 throw new StackOverflowException();

    19

    20 m_Items[m_StackPointer] = item;

    21 m_StackPointer++;

    22 }

    23 public object Pop()

    24 {

    25 m_StackPointer--;

    26 if (m_StackPointer >= 0)

    27 {

    28 return m_Items[m_StackPointer];

    29 }

    30 else

    31 {

    32 m_StackPointer = 0;

    33 throw new InvalidOperationException("Cannot pop an empty stack");

    34 }

    35 }

    36}

    37

    2.使用泛型的类

    1using System;

    2

    3public class Stack<T>

    4{

    5 readonly int m_Size;

    6 int m_StackPointer = 0;

    7 T[] m_Items;

    8 public Stack()

    9 : this(100)

    10 {

    11 }

    12 public Stack(int size)

    13 {

    14 m_Size = size;

    15 m_Items = new T[m_Size];

    16 }

    17 public void Push(T item)

    18 {

    19 if (m_StackPointer >= m_Size)

    Ҷƪл˵?
  • һƪC# 编码规范和编程好习惯_C#教程
    һƪc#泛型学习(二)_C#教程