`
piperzero
  • 浏览: 3472362 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

泛型(泛型类,泛型方法)及字典

 
阅读更多

protected void Page_Load(object sender, EventArgs e)
{
#region 泛型方法
////int a = 10;
////int b = 20;
////this.Swap(ref a, ref b);
//////Swap(ref a,ref b);
////Response.Write(string.Format("a:{0};b:{1}", a, b));
#endregion

#region 泛型类
////Point<int> p = new Point<int>(10, 20);
////Response.Write(p.ToString());
////Point<float> pf = new Point<float>(12.2f, 23.2f);
////Response.Write(pf.ToString());
#endregion

#region List<T>
//List<Person> list = new List<Person>();
//list.Add(new Person("张", "三"));
//list.Add(new Person("李","四"));
//list.Add(new Person("王", "五"));

//Response.Write(list[0].FirstName + list[0].LastName);
//Response.Write("<br/>-------------<br/>");
//for (int i = 0; i < list.Count; i++)
//{
// Response.Write(list[i].FirstName + list[i].LastName + "<br/>");
//}
#endregion

#region dictionary<T>
//Dictionary<string, Person> dic = new Dictionary<string, Person>();
//dic.Add("zhang", new Person("张", "三"));
//dic.Add("li", new Person("李", "四"));
//dic.Add("wang", new Person("王", "五"));
//Response.Write(dic["wang"].FirstName + dic["wang"].LastName+"<br/>");
//foreach (string str in dic.Keys)
//{
// Response.Write(str + "<br/>");
//}
//foreach (Person p in dic.Values)
//{
// Response.Write(p.FirstName + p.LastName + "<br/>");
//}
#endregion
Queue<int> qu = new Queue<int>();
for (int i = 0; i < 10; i++){
qu.Enqueue(i);
}
for (int i = 0; i < 10; i++){
Response.Write(qu.Dequeue().ToString());
}
Response.Write("<br/>==================<br/>");
Stack<int> st = new Stack<int>();
for (int i = 0; i < 10; i++){
st.Push(i);
}
for (int i = 0; i < 10; i++){
Response.Write(st.Pop().ToString());
}
}
//public T Add<T>(T a, T b)
//{
// return a + b;
//}
public void Swap<T>(ref T a, ref T b)
{
T temp;
temp = a;
a = b;
b = temp;
}
//public void Swap(ref int a, ref int b)
//{
// int temp;
// temp = a;
// a = b;
// b = temp;
//}
//public void Swap(ref float a, ref float b)
//{
// float temp;
// temp = a;
// a = b;
// b = temp;
//}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
///Person 的摘要说明
/// </summary>
public class Person:IComparable
{
private string firstName;
private string lastName;
public string LastName{
get { return lastName; }
set { lastName = value; }
}
public string FirstName{
get { return this.firstName; }
set { this.firstName = value; }
}
public Person(string fname, string lname){
this.firstName = fname;
this.lastName = lname;
}
//当需要进行等值性比较时,需要重写类的Equals方法
public override bool Equals(object obj)
{
Person p = obj as Person;
if (p == null)
throw new ArgumentException("obj is not a person");
if (p.firstName == this.firstName &&
p.lastName == this.lastName)
return true;
else
return false;
}

public Person()
{
//
//TODO: 在此处添加构造函数逻辑
//
}

#region IComparable 成员
public int CompareTo(object obj)
{
Person p = obj as Person;
if (p == null)
throw new ArgumentException("obj is not a person");
int first = this.firstName.CompareTo(p.firstName);
if (first == 0)
{
first = this.lastName.CompareTo(p.lastName);
return first;
}
else
return first;
}
#endregion
}

分享到:
评论

相关推荐

    可反转排序的泛型字典类

    可反转排序的泛型字典类 http://www.cnblogs.com/abatei/archive/2008/02/12/1067166.html

    数组,泛型,字典表,哈希表的用法

    可以帮住那些对数组,泛型,字典表,哈希表用的不是很熟练的朋友作为参考

    VT泛型集合字典根据预设键获取值

    VTemplate泛型集合字典根据预设键获取值

    Delphi_2009_2010_XE_泛型使用全集(队_栈_字典_列表_对象列表)

    泛型使用全集(队_栈_字典_列表_对象列表)

    C#List字典Dictionary泛型集合实例,源码

    List字典Dictionary泛型集合实例,源码

    c#字典的应用,泛型的利用

    c#字典的应用,这是c#中的一个高效的查询手段,利用它你可以提高速度。这段程序,可以起到小例子的作用。帮你更好理解c#字典的应用。

    Swift编程中的泛型解析

    例如,Swift 的数组和字典类型都是泛型集。你可以创建一个Int数组,也可创建一个String数组,或者甚至于可以是任何其他 Swift 的类型数据数组。同样的,你也可以创建存储任何指定类型的字典(dictionary),而且这些...

    泛型集合反射保存为xml文件 并可反射读取集合

    可以对自定义的类型进行存取 自定义类型属性可以 包括泛型 数组 字典 字符串 日期 等等,类型存为xml格式;读取的类型集合与存储是完全一致。包括调用方法。消耗无数脑细胞资源分低了对不起自己。

    C#中Dictionary泛型集合7种常见的用法

    本文主要介绍了Dictionary集合的7种最基础的用法,包括创建、添加、查找、遍历、删除等方法,程序都是由简入繁,希望能通过阅读简单的示例,给大家一些启发。

    数据结构与算法(C#)

    第1章 Collections类、泛型类和Timing类概述 第2章 数组和ArrayList 第3章 基础排序算法 第4章 基础查找算法 第5章 栈和队列 第6章 BitArray类 第7章 字符串、String类和StringBuioder类 第8章 模式匹配和文本处理 ...

    C#命名空间分类

    C#命名空间详细分类介绍,方便编程使用,System.Collections //命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。 System.Collections.Generic //命名空间包含定义...

    Object-C的教程.txt

    类与对象:理解Object-C中类(Class)和对象(Object)的概念,学习如何定义类、创建对象以及使用对象的属性和方法。 继承与多态:掌握Object-C中的继承和多态机制,了解子类如何继承父类的属性和方法,并实现自己...

    数据结构与算法:语言描述(中英文)

    泛型编程允许程序员编写一个类或一种方法,并且把它用于众多数据类型。泛型编程是C#语言一种重要的新特性(在C#2.0以及更高版本中可用)。这种特性是如此重要以至于在System.Collections.Generic命名空间中存在一个...

    C# 程序设计手册(WORD)

    泛型方法 304 泛型和数组 306 泛型委派 307 泛型程序代码中的默认关键词 308 C++ 样板和 C# 泛型之间的差异 309 运行时间中的泛型 310 .NET Framework 类别库中的泛型 311 泛型和反映 312 泛型和属性 313 泛型型别中...

    小字典 排序 文件操作

    一个适合初学者学习的关于文件操作,txt文件操作,实现的对文本的排序,以及添加,功能 文本操作 流操作 排序 泛型 类的封装

    C# Dictionary和SortedDictionary的简介

    SortedDictionary 泛型类是检索运算复杂度为 O(log n) 的二叉搜索树,其中 n 是字典中的元素数。就这一点而言,它与 SortedList 泛型类相似。这两个类具有相似的对象模型,并且都具有 O(log n) 的检索运算...

    C#实训教程

    4.5 密封类和密封方法 79 4.6 修饰符 80 4.7 接口 81 4.8 内容总结 86 4.9 独立实践 86 5 委托与事件 88 5.1 事件的原理 88 5.2 简单的自定义事件 89 5.3 预定义事件处理机制 92 5.4 内容总结 100 5.5 独立实践 100 ...

    -caliatys-array-typer:创建泛型类型对象的数组或字典

    一个Node.js模块,可从Object数组创建通用类型对象的数组或字典 安装 npm install @caliatys/array-typer --save 用法 Java脚本 设置示例 // Let's create our own object type let MyObject = /** @class */ ( ...

    Java开发技术大全 电子版

    9.6.1使用isInstance()方法判断所属类294 9.6.2获取成员方法信息295 9.6.3获取构造方法信息296 9.6.4获取类的成员属性297 9.6.5根据方法的名称来执行方法299 9.6.6创建新的对象300 9.6.7改变属性的值301 ...

Global site tag (gtag.js) - Google Analytics