zoukankan      html  css  js  c++  java
  • c# 泛型(Generic)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 泛型
    {
        class Stack
        {
            private object[] items;
            private int count;
            public Stack(int size)
            {
                items = new object[size];
                count = 0;
            }
            public void Push(object x)
            {
                items[count++] = x;
            }
            public object Pop()
            {
                return items[--count];
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                //Stack s = new Stack(10);
                //s.Push(111);
                //s.Push(222);
                //Console.WriteLine((int)s.Pop() + (int)s.Pop());  //333
                //Console.ReadKey();
    
                //Stack s = new Stack(10);
                //s.Push(111.3);
                //s.Push(222.4);
                //Console.WriteLine((double)s.Pop() + (double)s.Pop());  //333.7
                //Console.ReadKey();
    
                Stack s = new Stack(10);
                s.Push("111.3");
                s.Push("222.4");
                Console.WriteLine((string)s.Pop() + " " + (string)s.Pop());  //222.4 111.3
                Console.ReadKey();
            }
        }
    }
    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    //泛型(Generic)
    //泛型是2.0版C#语言和公共语言运行库(CLR)中的一个新功能。泛型将类型参数的概念引入.NET Framework,
    //类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并
    //实例化该类或方法的时候。列如,通过使用泛型类型到参数 T,您可以编写其他客户端代码能够使用的单个类,
    //而不致引入运行时强制转换或装箱操作的成本或风险。
    namespace 泛型1
    {
        class Stack<T>
        {
            private T[] items;
            private int count;
            public Stack(int size)
            {
                items = new T[size];
                count = 0;
            }
            public void Push(T x)
            {
                items[count++] = x;
            }
            public T Pop()
            {
                return items[--count];
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Stack<double> s = new Stack<double>(10);
                s.Push(111.3);
                s.Push(222.4);
                Console.WriteLine((double)s.Pop() + (double)s.Pop());  //333.7
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    在Ubuntu下依然爱SOGO
    CompositePattern(23种设计模式之一)
    Arduino String.h库函数详解
    cp命令详解
    PHP AJAX 返回JSON 数据
    PHP AJAX返回 "TEXT"
    PHP JSON数据 AJAX
    PHP JQurey
    PHP 封装POD 类
    PHP 分页+查询
  • 原文地址:https://www.cnblogs.com/han1982/p/3208713.html
Copyright © 2011-2022 走看看