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();
            }
        }
    }
  • 相关阅读:
    截取表单提交的字符串信息转换成对象 -- 前端面试题(一)
    HTML5 简单归纳 -- 前端知识 (二)
    02_安装Linux
    01_Linux 简介
    Mysql学习笔记八:Mysql操作
    Mysql学习笔记七:常用SQL语句
    Mysql学习笔记六:事务
    Mysql学习笔记五:修改
    Mysql学习笔记四:查询
    Mysql学习笔记二:主键、外键
  • 原文地址:https://www.cnblogs.com/han1982/p/3208713.html
Copyright © 2011-2022 走看看