随笔分类 -  C# 基础补遗

C# 基站知识的补充及学习笔记
摘要:1、索引器(Indexer):索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于他们的访问采用参数。最简单的索引器的使用 /// /// 最简单的索引器 /// public class IDXer { privat... 阅读全文
posted @ 2014-08-27 20:34 Rising_Sun 阅读(28638) 评论(1) 推荐(9) 编辑
摘要:扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。当我们vs中编写代码使用Linq 的时候,经常会看到智能提示出现带如下符号的方法:这就是扩展方法。如何定义自己的扩展方法呢?MSDN给出了详细的解释(具体可以参阅实现和调用自定义扩展方法):1、定义一个静态类以包含扩展方法。该类必须对客户端代码可见。2、将该扩展方法实现为静态方法,并使其至少具有与包含类相同的可见性。3、该方法的第一个参数指定方法所操作的类型;该参数必须以 this 修饰符开头。4、在调用代码中,添加一条 us 阅读全文
posted @ 2013-04-25 10:07 Rising_Sun 阅读(9658) 评论(2) 推荐(6) 编辑
摘要:C# 从1.x 发展到目前的 4.5,委托的写法真是越来越简单精悍。如果您对这些委托的写法不是很清晰,本文可以帮助到您。委托是一种安全封装方法的类型,可以将方法作为方法的参数。委派方法的参数个数、顺序、类型及方法返回值类型必须跟定义的委托方法一样,但参数名称可以不同。1、C# 定义一个完整委托:delegate string SayMessage(string msg);static string SayHello(string Name){ return string.Format("Hello {0}", Name);}static void Main(string[] 阅读全文
posted @ 2013-02-27 14:03 Rising_Sun 阅读(9464) 评论(50) 推荐(60) 编辑
摘要:前些日子,看到园子里面有人用老王喝茶的例子讲解了一下同步和异步,虽然没有代码实现,但是能够通俗易懂的讲解了同步、异步、阻塞、非阻塞的关系了,今天借题发挥,用一个热水器加热洗澡的例子来具体演示一下C#使用委托进行异步编程。首先引用MSDN中的一段话来描述一下如何使用异步方式.NET Framework 允许您异步调用任何方法。 为此,应定义与您要调用的方法具有相同签名的委托;公共语言运行时会自动使用适当的签名为该委托定义 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法启动异步调用。 该方法与您需要异步执行的方法具有相同的参数,还有另外两个可选参数。 第一个参数 阅读全文
posted @ 2012-12-11 23:43 Rising_Sun 阅读(25857) 评论(32) 推荐(32) 编辑
摘要:本文继续讲解List<T>之排序操作,C#范型List类的Sort方法有四种形式,分别是:1、不带有任何参数的Sort方法----Sort();2、带有比较器参数的Sort方法 ----Sort(IComparer<T>)3、带有比较代理方法参数的Sort方法----Sort(Comparison<(Of <(T>)>))4、带有比较起参数,可以指定排序范围的Sort方法----Sort(Int32, Int32 IComparer(T))首先对IComparable.CompareTo 方法进行一下介绍:MSDN解释:将当前实例与同一类型的另一 阅读全文
posted @ 2012-08-23 17:30 Rising_Sun 阅读(5157) 评论(0) 推荐(1) 编辑
摘要:首先声明本文不是讨论Linq,在Framwork2.0中也不支持linq操作的,主要是记录一下List集合的使用方法。List<T> 一般主要用到的查找遍历方法:Find:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的第一个匹配元素。FindLast:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的最后一个匹配元素。Find:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的第一个匹配元素。FindLast:搜索指定谓词所定义条件相匹配的元素,并返回整个List<T>中的最后一个匹配元素 阅读全文
posted @ 2012-08-23 15:22 Rising_Sun 阅读(25098) 评论(0) 推荐(2) 编辑