网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
白话C#:泛型
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

系列文章索引:《白话C#

泛型是C# 2.0版本才开始有的语言特性,不过“泛型”这个概念并不是最先出现在编程领域的,例如C++中的模板

List<T>就是一个泛型应用。你可以在需要时声明一个强类型的List<T>实例,然后随意地往里面添加、删除和查询同一类型的元素。泛型就是一个非常方便的数据结构,长期使用C#的朋友大多都常常用到泛型。本文就简单地通过创建自己的泛型类来介绍一下泛型,希望能够加深初学者对泛型(这个名字很奇怪的东西)的认识和理解。

用到泛型的时候你就会发现,泛型其实就像一个口袋,你可以很方便地往里面装东西,只是在第一次使用这个口袋的时候要注意声明它只能装什么样类型的东西,以后就不能装错了。那么我们就用钱包为例吧,我们首先描述一下钱包。钱包的用途不外乎是装点儿东西,当然,除了钱还可以装其它很多东西,例如银行卡、便签条、照片等等,但是这些东西有些共同的地方,至少是尺寸方面不能超过钱包的限制,谁可以把冰箱也揣在钱包里呢?因此,我们在设计能装进钱包的物品的类的时候就要考虑到尺寸的因素。

   1: public class WalletThingBase
   2: {
   3:     protected readonly int MaxLength = 10;
   4:     protected readonly int MaxWidth = 7;
   5:     protected readonly int MaxThickness = 1;
   6:  
   7:     private int _length = 0;
   8:     public int Length
   9:     {
  10:         get { return this._length; }
  11:         set
  12:         {
  13:             if (value <= 0 || value > this.MaxLength)
  14:             {
  15:                 throw new ArgumentException("Length is invalid.");
  16:             }
  17:  
  18:             this._length = value;
  19:         }
  20:     }
  21:  
  22:     private int _width = 0;
  23:     public int Width
  24:     {
  25:         get { return this._width; }
  26:         set
  27:         {
  28:             if (value <= 0 || value > this.MaxWidth)
  29:             {
  30:                 throw new ArgumentException("Width is invalid.");
  31:             }
  32:  
  33:             this._width = value;
  34:         }
  35:     }
  36:  
  37:     private int _thickness = 0;
  38:     public int Thickness
  39:     {
  40:         get { return this._thickness; }
  41:         set
  42:         {
  43:             if (value <= 0 || value > this.MaxThickness)
  44:             {
  45:                 throw new ArgumentException("Thickness is invalid.");
  46:             }
  47:  
  48:             this._thickness = value;
  49:         }
  50:     }
  51:  
  52:     public WalletThingBase(int length, int width, int thickness)
  53:     {
  54:         this.Length = length;
  55:         this.Width = width;
  56:         this.Thickness = thickness;
  57:     }
  58: }

接下来我们来派生几个类吧,银行卡以及信用卡:

   1: public class BankCard : WalletThingBase
   2: {
   3:     public int ID { get; set; }
   4:     public string Name { get; set; }
   5:     public string Password { get; set; }
   6:  
   7:     public BankCard(int length, int width, int thickness)
   8:         : base(length, width, thickness)
   9:     {
  10:     }
  11: }
  12:  
  13: public class CreditCard : BankCard
 	

	
			
  • 上一篇资讯: 白话C#:多线程
  • 下一篇资讯: 白话C#:接口
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号