首页
技术库 |  站长工具 | 技术手册 |  字体库 |  知识点词汇表  |  联系我们 |   



主菜单


站点首页
技术手册
字体库
知识点 词汇表
站长工具
高级搜索
联系我们
站点地图

文章分类



文章内容 

当前位置: .: .Net技术 .: C#教程 .: C#中实例分析范型
C#中实例分析范型



理论:所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。
C#泛型赋予了代码更强的类型安全,更好的复用,更高的效率,更清晰的约束。
 
只看概念很晕,OK,写了一段代码,一看就知道了:
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            TestStack<int> myTestStack = new TestStack<int>(3);//整形实例化
            TestStack<string> myTestStack2 = new TestStack<string>(3);//字符串实例化
            private void button1_Click(object sender, EventArgs e)
            {
                myTestStack.Push(1);
                myTestStack.Push(2);
                myTestStack2.Push("韩晓鹏");
                myTestStack2.Push("黄萍");
            }
                private void button2_Click(object sender, EventArgs e)
                {
                    if (myTestStack.size > 0)
                    {
                        MessageBox.Show(myTestStack.Pop().ToString());
                    }
                    else
                    {
                        MessageBox.Show("没有整形啦");
                    }
                }
                private void button3_Click(object sender, EventArgs e)
                {
                    if (myTestStack2.size > 0)
                    {
                        MessageBox.Show(myTestStack2.Pop().ToString());
                    }
                    else
                    {
                        MessageBox.Show("没有字符串啦");
                    }
                }
            }

        public class TestStack<T>///定义一个栈
        {
            private T[] store;//栈的存储器
            public int size;//栈的指针
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="n">初始化大小</param>
            public TestStack(int n)
            {
                store = new T[n];
                size = 0;//指向第一个位置
            }
            /// <summary>
            /// 进栈
            /// </summary>
            /// <param name="x"></param>
            public void Push(T x)
            {
                store[size++] = x;
            }
            /// <summary>
            /// 出栈
            /// </summary>
            /// <param name="x"></param>
            public T Pop()
            {
               return store[--size];
            }
        }

 
}
 
以上代码测试环境vs2005,三个按钮,一个进栈,两个为出栈。
有问题联系老韩。




隐藏文章属性
文章编号:098
点击次数:548
创建日期:10-23-2007
发布人:laohan
点评:
发送此文
发表评论
打印
添加到收藏夹


评级:




用户评论

此文章还没有任何评论!

网站地图 - 知识词汇 - 全文检索 - 广告服务 - 帮助中心 - 联系我们
.:www.cn-web.com
网站技术开发联盟之WEB开发技术知识库
联系人:老韩(QQ:5679551)
晋ICP备07003487号