zoukankan      html  css  js  c++  java
  • 如鹏网.Net高级技术5.泛型集合及键值对

    泛型集合和键值对在C#中比较常用,

    该段课件中通过案例讲解泛型集合的使用方式.

    如何自己定义泛型集合,泛型方法,泛型接口及使用

    自定义的泛型如何通过where进行约束.

    泛型中常用的几个泛型方法。

    -------------------------------------------------

    泛型集合

    List<T>,

    Dictionary<K,V> :键不能重复,值可以重复

    List<T>,Dictionary<K,V>

    案例:

    合并两个集合中的重复项 案例:随机生成10个1-100之间的数放到List中,要求这10个数不能重复,并且都是偶数(添加10次,可能循环很多次。)

    案例:

    把分拣奇偶数的程序用泛型实现。List<int> 把123转换为:壹贰叁。

    Dictionary<char,char> 计算字符串中每种字母出现的次数“Welcome ,to Chinaworld”,不区分大小写。

     -------------------------------------------------

    自定义泛型

    泛型的目的:还是代码重用。

    T:一般叫做“类型参数”,把数据类型作为参数传递。

    一般用T类表示或者以大写T开头的

    比如:TKey,TValue、TOutput、TResult…

    泛型类、泛型接口、泛型方法(泛型方法中的类型推断)、泛型委托(*)

    ------------------------------------------------

    课后练习:

    练习1:英汉翻译。可以使用WinForm做。

    练习2:编写一个函数进行日期转换,将输入的中文日期转换为阿拉伯数字日期,比如:二零一二年十二月月二十一日要转换为2012-12-21。(处理“十”的问题:1.*月十日;2.*月十三日;3.*月二十三日;4.*月三十日;)4中情况对“十”的不同翻译。1→10;2→1;3→不翻译;4→0【年部分不可能出现’十’,都出现在了月与日部分。】

    测试数据:二零一二年十二月二十一日(2012年12月21日)、二零零九年七月九日、二零一零年十月二十四日、二零一零年十月二十日

    ------------------------------------------------

    泛型约束:
    使用where关键字进行类型约束

    约束多个参数:可以对多个参数应用约束,并对一个参数应用多个约束,如下:

    C#:

     class Base{}

     class Test<T,U>

        where U:struct

        where T:Base,new(){}

    如鹏网:http://www.rupeng.com

  • 相关阅读:
    重新理解:ASP.NET 异步编程
    EF DbContext.Configuration.ProxyCreationEnabled 什么鬼?
    爱的预感
    ASP.NET MVC Ajax.ActionLink 简单用法
    DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(1)
    EntityFramework 外键值映射
    ASP.NET Web API 异常日志记录
    ASP.NET MVC Application_Error 无效不执行
    JavaScript sync and async(同步和异步)
    软件的模块化开发
  • 原文地址:https://www.cnblogs.com/wjs5943283/p/5242842.html
Copyright © 2011-2022 走看看