• λ我爱Aspx >> Asp.Net >> C# 泛型简介
  • C# 泛型简介

  • :未知  Դ:internet  :2007-5-20 16:49:07  ؼ:c#
  • Pop() 方法的数据结构(例如,堆栈)。在开发通用堆栈时,您可能愿意使用它来存储各种类型的实例。在 C# 1.1 下,您必须使用基于 Object 的堆栈,这意味着,在该堆栈中使用的内部数据类型是难以归类的 Object,并且堆栈方法与 Object 交互: public class Stack { object[] m_Items; public void Push(object item) {...} public object Pop() {...} } 代码块 1 显示基于 Object 的堆栈的完整实现。因为 Object 是规范的 .NET 基类型,所以您可以使用基于 Object 的堆栈来保持任何类型的项(例如,整数): Stack stack = new Stack(); stack.Push(1); stack.Push(2); int number = (int)stack.Pop(); 代码块 1. 基于 Object 的堆栈

    public class Stack { readonly int m_Size; int m_StackPointer = 0; object[] m_Items; public Stack():this(100) {} public Stack(int size) { m_Size = size; m_Items = new object[m_Size]; } public void Push(object item) { if(m_StackPointer >= m_Size) throw new StackOverflowException(); m_Items[m_StackPointer] = item; m_StackPointer++; } public object Pop() { m_StackPointer--; if(m_StackPointer >= 0) { return m_Items[m_StackPointer]; } else { m_StackPointer = 0; throw new InvalidOperationException("Cannot pop an empty stack"); } } }

    Ҷƪл˵?
  • һƪ在 C# 中通过 P/Invoke 调用Win32 DLL
    һƪ《Effective C#》 翻译札记