java泛型,C#中的List<string>泛型类示例

在C#代码中使用一系列字符串(strings)并需要为其创建一个列表时,List泛型类是一个用于存储一系列字符串(strings)的极其优秀的解决办法。下面一起有一些List泛型类的示例,一起来看看吧。 List示例 下面是一个使用C#创建一个新的一系列字符串的列表的示例,利用foreach语句循环使用其每一个字符串。请注意在代码片段的顶部添加所需的命名空间:“using System... [阅读全文]

泛型编程与stl,什么是模板,STL与泛型编程

我觉得学一个东西不应该拿起来就学,应该先大概明白这个东西是干什么用的,用它有什么好处,以终为始,就像高考一样,如果不知道最后的目的是考大学,我想就不会有那么多同学辛苦奋斗,当明白了高考的目的是上一个好大学时,同学们有动力才为之奋斗,有方向才有行走的动力! 最近在学C++(以前学的等于没学。。。),除了面向对象中多态、重载之外,就数模板、STL、泛型编程这些概念比较难懂,所以想先明白这些东西是什么,... [阅读全文]

java泛型,自己动手写泛型List<T>

自己动手写泛型List 在开始动手写自己的泛型List之前,咱们先来看一下非泛型的缺点 非泛型的缺点: 1、大量类型转换 ArrayList AL=new ArrayList(); AL.Add(1); //存在装箱操作 2、运行时错误 ArrayList AL = new ArrayList(); AL.Add(1); AL.Add("2"); foreach (int i in AL) { C... [阅读全文]

java泛型,6.6.2 自动泛型化(automatic generalization)

6.6.2 自动泛型化(automatic generalization) 在这一章中,我们已经实现了几个 F# 中的高阶函数,看到了几个在 F# 和 C# 中并排的实现。有关 F# 实现的有趣事实是,我们根本不需要指定类型。这是由于自动泛型化(automatic generalization),它用在推断函数声明的类型。我们将用 Option.bind 函数的实现作为示例,介绍这个过程是如何工作... [阅读全文]

java泛型,6.6.2 自动泛型化(automatic generalization)

6.6.2 自动泛型化(automatic generalization) 在这一章中,我们已经实现了几个 F# 中的高阶函数,看到了几个在 F# 和 C# 中并排的实现。有关 F# 实现的有趣事实是,我们根本不需要指定类型。这是由于自动泛型化(automatic generalization),它用在推断函数声明的类型。我们将用 Option.bind 函数的实现作为示例,介绍这个过程是如何工作... [阅读全文]

java泛型,6.1 泛型高阶函数

6.1 泛型高阶函数 高阶函数是写泛型函数代码的一种方法,这意味着,相同的代码可重复使用于许多类似但不同的目的。这是现代编程的一个关键,因为,它允许我们写更少的代码行,通过分解出计算的共同部分。 在函数式编程和面向对象中的泛型代码 当编写泛型代码时,通常要对我们所获得的值执行某个操作,但是,由于代码应该是泛型的,我们不想太多地限制值的类型,想要允许代码进一步的扩展。 使用 OOP 初步(但不是总是... [阅读全文]

实例化泛型对象,将DataRow转换成相应的对象(通用以及泛型操作)

一直以来对框架非常感兴趣,对大多数框架(目前本人看过的)来说一般分为三个部分: (1):拼接SQL语句(反射)。 (2):执行CRUD操作,获取相应的DataTable、DataSet等等。 (3):将相应的DataTable、DataSet转换成对象(反射)。 因此可以将上述3个部分各个击破,一步一步来实现自己的框架,看的框架多了,也就成了路。反射在这里面被淋漓尽致的运用,哈哈,站在款哥的肩膀上... [阅读全文]

java泛型,如何将XML与OBJECT进行相互转换(泛型以及通用方法)

对于ORMCodeHelper(Keny的),完全的采用插件式开发,即插即用,个人感觉还是比较爽的,架构不错。它包括了SQL SERVER 2000,SQL SERVER 2005以及ORACLE的相关C#代码的生成。比哥一年前写的那个牛多了,哈哈,哥去年乱写了个网页版的(http://www..com/jasenkin/archive/2010/02/11/1667511.html),现在看一年... [阅读全文]

java泛型,如何将XML与OBJECT进行相互转换(泛型以及通用方法)

过年的这段时间一直没有闲着,总体来说可以分为以下2个部分的学习。 1:ORMCodeHelper的参考与学习。 2:MVC3的学习。 对于ORMCodeHelper(Keny的),完全的采用插件式开发,即插即用,个人感觉还是比较爽的,架构不错。它包括了SQL SERVER 2000,SQL SERVER 2005以及ORACLE的相关C#代码的生成。比哥一年前写的那个牛多了,哈哈,哥去年乱写了个网... [阅读全文]

java泛型,【原创】Lambda 表达式 和 Predicate 泛型委托

1. Lambda表达式 “Lambda” 表达式”是一个匿名函数,用于创建委托或表达式树类型。 “=”为Lambda 运算符,读为“goes to”。Lambda 运算符左边是“输入参数”,右边是“表达式或语句块”,如下所示: delegate int del(in... [阅读全文]

泛型编程与stl:第 4章 集合和泛型 第 5课: 泛型集合

前面四章中,我们仅仅涉及到处理object类型的。如果你想要获取一个对象的特点类型,你需要去把object类型转化为实际的类型。在第四课中你可能会用一些特别的集合处理一些类型比如字符串型。但是加入几个特别的集合并不能解决类型安全和集合的问题。泛型集合就是来解决这些问题的: 这节课我们将会学到: 创建和使用类型安全的列表Create and work with type-safe lists 创... [阅读全文]

java泛型:Linq 学习(7) 延迟执行 & 查询非泛型集合

本篇介绍Linq延迟执行和查询非泛型集合  延迟执行  从Linq查询过程看不断有新类型、集合构建、释放感觉效率不高但Linq延迟执行机制将大大改善常规操作加载整个数据源导致效率低下状况  举例: void Main{   collection = { 10, 11, 12, 13, 14 };  Console.WriteLine("Begin query collection:" + Date... [阅读全文]

java泛型:C#泛型秘诀(5.2)

私有思路方法#region 私有思路方法  private void EnsureCapacity( min)  {   num1 = (this.keys.Length 0) ? 4 : (this.keys.Length * 2);   (num1 min)  {  num1 = min;  }  this.InternalSetCapacity(num1, false);  }  //返... [阅读全文]

java泛型:C#泛型秘诀(7)

4.11 在泛型字典类中使用foreach  问题  您希望在实现了. Collections.Generic.IDictionary接口类型枚举元素如.Collections.Generic.Dictionary 或 .Collections.Generic.SortedList  解决方案  最简单思路方法是在foreach循环中使用KeyValuePair结构体:// 创建字典对象并填充. ... [阅读全文]

java泛型:C#泛型秘诀(8完)

4.13 化泛型变量为它们默认值  问题  您泛型类包含个变量它类型和类中定义类型参数样在构造泛型类时您希望这个变量被化为它默认值  解决方案  简单地使用default关键字把变量化为它默认值:public DefaultValueExampleT  {    T data = default(T);    public bool IsDefaultData    {      T temp ... [阅读全文]

java泛型:泛型--约束

9.5 约束  有时候您必须确保添加进泛型列表中元素拥有某些约束(例如它们从个给定基类继承或它们实现了指定接口)在下面例子中我们实现了个简单可排序单链表链表由多个Node组成每个Node必须保证添加进去元素实现了IComparer接口您可以这样声明:  public NodeT : IComparableNodeT where T : IComparableT  这句代码定义了个泛型Node它操... [阅读全文]

java泛型:泛型--List

类型个典型问题是固定容量如果您预先不知道将容纳多少对象就会冒着给声明太小(溢出)或太大(浪费空间)空间风险  您可能让用户输入数据或从Web站点收集数据当它发现对象(串书值等等)将把它们添加进但您并不知道在这段时间内会收集多少数据固定尺寸并不是个很好选择您并不知道需要多大  List类是个根据需要动态增加尺寸它提供了组有用思路方法和属性用于操作它们中最重要显示在表9-3中  表9-3 List思路... [阅读全文]

java泛型:构建可反转排序的泛型字典类(6)--实现IDictionary接口中的Keys和Values属性

完整代码下载:http://file.ddvip.com/2008_10/1224750068_ddvip_5023.rar  6. 实现IDictionary接口中Keys和Values属性  现在我们可以着眼于IDictionary接口实现第4节中专门针对这个接口做了个最简化例子我们来回顾下它是如何实现IDictionary接口中Keys和Values属性public ICollection ... [阅读全文]

java泛型:构建可反转排序的泛型字典类(5)--实现IEnumerable> 接口

下载完整代码: http://file.ddvip.com/2008_10/1224750278_ddvip_8158.rar   5. 实现IEnumerableKeyValuePairTKey, TValue接口  我们先来看看ReversibleSortedList类定义:public ReversibleSortedListTKey, TValue :    IDictionaryTKe... [阅读全文]

java泛型:C#泛型秘诀(2)

4.3 获取泛型类型  问题  您需要在运行时获得个泛型类型例子Type对象  解决方案  在使用typeof操作符时提供类型参数;使用类型参数例子化泛型类型用GetType思路方法  声明个般类型和个泛型类型如下:public Simple{  public Simple  {  }}  public SimpleGenericT{  public SimpleGeneric  {  }} ... [阅读全文]

java泛型:C#泛型秘诀(3)

4.5 使用相应泛型版本替换Stack和Queue  问题  您希望通过将所有Stack和Queue对象替换为相应泛型版本以提高应用效率并使得代码更易于使用当结构体或其他值类型存储在这些数据结构中时会导致装箱/拆箱操作这时就需要这么做  解决方案  使用.Collections.Generic.Stack和.Collections.Generic.Queue对象来替换现有.Collections.... [阅读全文]

java泛型:C#泛型秘诀(4)

4.6 链表实现  问题  您需要链表数据结构这样就可以很容易地添加和删除元素  解决方案  使用泛型LinkedListT类下面思路方法创建了个LinkedListT类并往链表对象中添加节点然后使用了几种思路方法从链表节点中获得信息public void UseLinkedList  {    // 创建个LinkedList 对象.    LinkedListTodoItem todoLis... [阅读全文]

java泛型:C#泛型秘诀(5.1)

4.8 反转Sorted List里内容  问题  您希望在和列表类型中可以反转sorted list里内容同时又维持SortedList和SortedListT类原来功能无论是SortedList还是泛型SortedListT类都直接提供了完成这个功能思路方法而又不需要重填列表  解决方案  ReversibleSortedListTKey, TValue类提供了这些功能它基于SortedLis... [阅读全文]

java泛型:C#泛型秘诀(5.3)

    Nested Types#region Nested Types  Enumerator K, V#region Enumerator K, V  [Serializable, StructLayout(LayoutKind.Sequential)]  private struct EnumeratorK, V : IEnumeratorKeyValuePairK, V, IDisposa... [阅读全文]

java泛型:C#泛型秘诀(6)

4.9 使用泛型创建只读集合  问题  您希望类中个集合里信息可以被外界访问但不希望用户改变这个集合  解决方案  使用ReadOnlyCollectionT包装就很容易实现只读集合类例子如Lottery类包含了中奖号码它可以被访问但不允许被改变:public Lottery  {    // 创建个列表.    List _numbers = null;    public Lottery  ... [阅读全文]

java泛型:Visual C#泛型学习的泛型介绍

什么是泛型  种类型占位符或称的为类型参数我们知道在个思路方法中个变量值可以作为参数但其实这个变量类型本身也可以作为参数泛型允许我们在时候再指定这个类型参数是什么在.net中泛型能够给我们带来两个明显好处是——类型安全和减少装箱、拆箱  类型安全和装箱、拆箱  作为种类型参数泛型很容易给我们带来类型安全而在以前在.net1.1中我们要实现类型安全可以这样做 :  //假设你... [阅读全文]

泛型编程:Visual C# 2.0泛型编程基础

最近频繁接触到泛型方面问题,所以也不得不来学习下了开始主要是在MSDNWebCast上去下载教学录象看(李建忠老师)本篇文章先介绍下泛型入门方面知识希望能让刚开始学习泛型朋友能够更快入门言归正传,首先我们来看下泛型基本概念  最显著点就是它参数化了类型把类型作为参数抽象出来从而使我们在实际运用当中能够更好实现代码重复利用同时它提供了更强类型安全更高效率不过在约束方面它只支持显示约束这样在灵活性方面... [阅读全文]

java泛型:彻底剖析C# 2.0泛型类的创建和使用

"次编码多次使用"这就是引入泛型根源在以前C中称为模板C#泛型通过算法和数据结构支持独立编码例如泛型列表意味着你不必再重写个强类型集合在本文中作者将向你展示定义和使用泛型是多么容易事情-请注意长期以来泛型直被认为是最高级和最困难术语  、 介绍  泛型现在在任何种语言中都被认为是个高级强有力术语当我在C中第次接触模板时我对的有些疑惑的后我读了Bjarne StroustropThe Design ... [阅读全文]

泛型编程:C# 2.0中泛型编程初级入门教程

在2005年底微软公司正式发布了C# 2.0和C# 1.x相比新版本增加了很多新特性其中最重要是对泛型支持通过泛型我们可以定义类型安全数据结构而无需使用实际数据类型这能显著提高性能并得到更高质量代码泛型并不是什么新鲜东西他在功能上类似于C模板模板多年前就已存在C上了并且在C上有大量成熟应用  本文讨论泛型使用般问题比如为什么要使用泛型、泛型编写思路方法、泛型中数据类型约束、泛型中静态成员使用要注意... [阅读全文]

泛型编程:C# 2.0泛型编程基础

   最显著点就是它参数化了类型把类型作为参数抽象出来从而使我们在实际运用当中能够更好实现代码重复利用同时它提供了更强类型安全更高效率不过在约束方面它只支持显示约束这样在灵活性方面就显得不是那么好了我觉得它的所以能够提供更高效率是泛型在例子化时候采用了 "on-demand"模式,即按需例子化,发生在JIT(Just In Time)编译时    下面来看如何定... [阅读全文]
1 共1条 分1页