吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页

2012年2月7日

点滴积累(持续更新)

摘要: 1、使用关键字readonly ,表示这个字段只能在执行构造函数的过程中赋值,或者由初始化语句赋值2、.net4.0新增一个 Tuple 类,代表一个有序的N元组。可以调用Tuple.Create静态方法或使用new 关键字直接创建一个Tuple对象,.net基类库中定义了拥有1-7个泛型参数的泛型Tuple。 作用:可以使用Tuple对象作为方法的返回值。可以很容易地包含多个结果。3、.NET 4.0提供了一个大整数类型 BigInteger (位于System.Numerics中),这个类型可以表示任意大的整数。4、string是引用类型。 但却可以用 "=="来比较串 阅读全文

posted @ 2012-02-07 17:25 _eagle 阅读(379) 评论(0) 推荐(0) 编辑

关于对象集合很常用的方法

摘要: 本文涉及:1.对列表中的元素进行“批量类型转换”2.对列表中每个元素的“加工”3.对列表元素的排序4.检测列表中的元素是否满足某个条件5.在列表中查找元素注:上述的操作并不是针对数组,或者List..而是有通用性,一般实现了IEnumerable<T>接口的列表都可具有下面的方法。一、对列表中的元素进行“批量类型转换”在某些情况下可能会需要将列表中的所有元素转换为另一个类型,这个工作可以通过调用 ConvertAll 方法实现。public List<TOutput> ConvertAll<TOutput>( Converter<T, TOutput& 阅读全文

posted @ 2012-02-07 17:18 _eagle 阅读(810) 评论(0) 推荐(0) 编辑

2012年2月6日

详解.NET 4.0数组的相关新增功能

摘要: 本文内容包括:使用.NET 4.0 新增的接口:1、比较两个数组是否相等2、比较两个数组大小。在.NET 4.0中我们将看到数组方面有很大的改进,本文将给大家讨论的是.NET 4.0数组的新增功能,希望对大家用好.NET 4.0数组有所帮助。1 两数组是否“相等”?在实际开发中,有时我们需要比对两个数组是否拥有一致的元素,例如,以下两个数组由于拥有相同的元素,因此被认为是相等的:int[] arr1 = new int[] { 1,2,3,4 }; int[] arr2 = new int[] { 1,2,3,4 }; 在.NET早期版本中,要实现上述数组比对功能,必须自己动手编... 阅读全文

posted @ 2012-02-06 15:44 _eagle 阅读(248) 评论(0) 推荐(1) 编辑

2012年2月3日

对象的比较与排序(七):对泛型列表进行排序和搜索:Comparison<T>和Predicate<T>的应用

摘要: 前面说到,我们可以使用 IComparer<T> 和 IComparable<T> 接口比较两个对象,然后对该类型的对象列表排序。现在我们来介绍另两个委托可以来用排序和搜索列表先总结一下前面的内容:MSDN上List有如下的sort重载:如果调用无参的sort()方法,那么要求集合中的元素要实现 System.IComparable 接口,否则此方法会抛出InvalidOperationException异常。如果集合的元素没有实现IComparable接口,则可以调用Sort(IComparer<T>),这时我们要创建一个类实现IComparer接口作为比 阅读全文

posted @ 2012-02-03 17:07 _eagle 阅读(1374) 评论(0) 推荐(0) 编辑

对象的比较与排序(六):实现集合类Sort自定义排序

摘要: 转自http://www.cnblogs.com/anytao/archive/2009/04/12/anytao_devstory_03_customcomparison.html对集合元素进行排序是经常发生的事情,事实上大部分的集合类型都默认实现了Sort方法,进行其元素的排序操作。例如List<T>集合的Sort方法有:public void Sort();public void Sort(Comparison<T> comparison);public void Sort(IComparer<T> comparer);public void Sort 阅读全文

posted @ 2012-02-03 17:03 _eagle 阅读(1377) 评论(0) 推荐(0) 编辑

对象的比较与排序(五):C#运算符重载

摘要: c#里的运算符重载是个不常出现的应用,同时也是个好玩的东西。我们可以使用他来实现这样的需求:当一个订单与另外一个订单相加形成一个新的订单。新订单的货物为两个订单的货物的并集,总价为两个订单的总价和。下面实现看看先做个辅助的货物类publicclassMerchandise{publicintCount{get;set;}publicstringName{get;set;}publicdoubleUnitPrice{get;set;}}然后来实现订单类publicclassOrder{publicdoubleTotalPrices{get;set;}publicList<Merchandi 阅读全文

posted @ 2012-02-03 16:59 _eagle 阅读(524) 评论(0) 推荐(0) 编辑

对象的比较与排序(四):对象的相等判断Equals和IEquatable<T>

摘要: 本节覆盖了以下知识点:一、Object.Equals()方法;二、“==”,“!=”运算符重载;三、IEquatable<T> 接口。一、重写Equals方法。众所周知,Object类型有一个名为Equals的实例方法可以用来确定两个对象是否相等。Object的Equals的默认实现比较的是两个对象的引用等同性。而Object的派生类ValueTpye重写了Equals方法,它比较的是两个对象的逻辑等同性。也就是说,在C#里,引用类型的默认Equals版本关注的是引用等同性,而值类型关注的是逻辑等同性。当然,这并不总能满足我们的要求。所以每当我们更在意引用类型的逻辑等同性的时候,我 阅读全文

posted @ 2012-02-03 16:50 _eagle 阅读(894) 评论(0) 推荐(0) 编辑

对象的比较与排序(三):实现IComparable<T>和IComparer<T>泛型接口

摘要: 1:比较和排序的概念 比较:两个实体类之间按>,=,<进行比较。 排序:在集合类中,对集合类中的实体进行排序。排序基于的算法基于实体类提供的比较函数。 基本型别都提供了默认的比较算法,如string提供了按字母进行比较,int提供了按整数大小进行比较。2:IComparable和IComparer 这两个接口上一日记已经介绍过,现在用一实例再次讲解一次 当我们创建了自己的实体类,如Student,默认想要对其按照年龄进行排序,则需要为实体类实现IComparable接口。 class Student:IComparable { public string Name { get; s 阅读全文

posted @ 2012-02-03 00:40 _eagle 阅读(1663) 评论(2) 推荐(0) 编辑

对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类

摘要: 在默认情况下,对象的Equals(object o)方法(基类Object提供),是比较两个对象变量是否引用同一对象。我们要必须我自己的对象,必须自己定义对象比较方式。IComparable和ICompare 接口是.net framework中比较对象的标准方式,这两个接口之间的区别如下:1. IComparable 在要比较的对象的类中实现,可以比较该对象和另一个对象。2.IComparer 在一个单独的类中实现,可以比较任意两个对象。一般情况下,我们使用 IComparable 给出类的默认比较代码,使用其他类给出非默认的比较代码。一、IComparable提供了一个方法int Comp 阅读全文

posted @ 2012-02-03 00:22 _eagle 阅读(1206) 评论(0) 推荐(0) 编辑

2012年2月2日

对象的比较与排序(一):类型比较和值比较

摘要: 一。类型比较1.GetType() 方法,所有的类都从system.object 中继承了这个方法,这个方法和typeof()运算符一起使用,就可以确定对象的类型if(myObj.GetType()) == typeof(MyClass){ //myObj是对象名,MyClass是一个类名}2. is运算符(平时用得多,不再叙述)二。值比较1.运算符重载2.使用 IComparable 和 IComparer 接口。它们可以用标准的方式定义比较对象的过程。也是对集合中的对象排序的一种绝佳方式。接下来的两篇日记会详细说明 运算符重载 和 IComparable 、 IComparer 接口 阅读全文

posted @ 2012-02-02 23:59 _eagle 阅读(643) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 18 下一页