
C#高级编程学习笔记
gksrxn
这个作者很懒,什么都没留下…
展开
-
静态构造函数
静态构造函数C#的一个新特征是也可以给类编写无参数的静态构造函数。这种构造函数只执行一次,而前面的构造函数是实例构造函数,只要创建类的对象,就会执行它。class MyClass(static MyC1ass〈)(// in△tialization oode)// =est of c△ ass definitionl编写静态构造函数的一个原因是,类有一些静态原创 2013-09-05 23:57:26 · 717 阅读 · 0 评论 -
C#高级编程 string
string是一个引用类型。对象被分配在堆上,而不是栈上。因此,当把一个字符串变量赋予另一个字符串时,会得到对内存中同一个字符串的两个引用。但是string与引用类型在常见的操作上有一些区别。例如,字符串是不可改变的。修改其中一个字符串,就会创建一个全新的string对象,而另一个字符串不发生任何变化。原创 2013-09-05 18:15:38 · 585 阅读 · 0 评论 -
扩张方法 this关键字
public static class StringExtension{ public ic static Void Foo(this string s) ( Console.WriteLine("Foo invoked for {0})", s)` )}扩展方法在静态类中声明,定义为一个静态方法,其中参数定义了它扩展的类型。Foo方法扩展了s原创 2013-09-11 09:21:50 · 713 阅读 · 0 评论 -
asp.net 接口
声明接口在语法上与声明抽象类完全相同,但不允许提供接口中任何成员的实现方式。一般情况下,接口只能包含方法、属性、索引器和事件的声明。 在接口定义中还不允许声明关于成员的修饰符。接口成员总是公有的,不能声明为虚拟或静态。原创 2013-09-09 18:13:04 · 797 阅读 · 0 评论 -
泛型学习笔记
泛型并不是一个全新的结构,其他语言中有类似的概念。例如,C++模板就与泛型相似。但是,C++模版和C#泛型之间有一个很大的区别。对于C‖++模板只在用特定的类型实例化模板时,需要模板的源代码。相反,泛型不仅是C#语言的一种结构,而且是CLR定义的。所以,即使泛型类是在C#中定义的,也可以在Ⅵsual Basic中用一个特定的类型实例化该泛型。原创 2013-09-06 16:29:54 · 477 阅读 · 0 评论 -
正则表达式30分钟入门教程
deerchao的blogBe and aware of who you are.正则表达式30分钟入门教程来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial。由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了如果有问题,再到这里来提出.一些要说的话:如果你没有正则表转载 2013-09-09 09:30:04 · 514 阅读 · 0 评论 -
String.String类
String.String类用字符串频繁进行文字处理,应用程序就会遇到严重的性能问题。最好是使用StringBuid。 StringBuild不能像String类类那样能够支持非常多的方法。在StringBuilder类上可以进行的处理仅限于替换和追加或删除字符串中的文本。但是,它的工作方式非常高效。原创 2013-09-08 15:10:43 · 470 阅读 · 0 评论 -
Lambda表达式
自C#3.0开始,就可以使用一种新语法把实现代码赋予委托:Lambda表达式。只要有委托参数类型的地方,就可以使用Lambda表达式。原创 2013-09-08 10:55:06 · 518 阅读 · 0 评论 -
委托学习笔记
把方法作为参数传递,有一个非常实用的环境,比如自定义的类型,现在要将他们排序,实用委托将排序规则的方法传递进排序方法中就是一种很好的解决办法,当然还有其他的方法,比如运算符重载。原创 2013-09-08 10:18:40 · 545 阅读 · 0 评论 -
C#运算符重载
运算符重载 1、必须要为public static类型,算术运算重载符对返回值没要求 2、C#不允许重载=运算符 3、C#语言要求成对重载比较运算符。即,如果重载了==也就必须重载!=否则会产生编译错误。另外比较运算符必须返回布尔类型的值。这是它们与算术运算符的根本区别原创 2013-09-07 23:18:11 · 554 阅读 · 0 评论 -
泛型结构学习笔记
.NET Fmmework中的一个泛型结构是Nullable。数据库中的数字和编程语言中的数字有显著不同的特征,因为数据库中的数字可以为空,而语言中的数字不能为空。Int32是一个结构,而结构的实现同值类型,所以结构不能为空。这个问题不仅存在于在数据库中,也存在于把XML数据映射到,NET类型。 可空类型使用的十分频繁,在C#中有一类特殊的语法? int? x;表示原创 2013-09-07 09:08:32 · 753 阅读 · 0 评论 -
out关键字的用法
out上下文关键字可在下面两种上下文中使用: 1、作为参数列表中的参数修饰符 2、在接口和委托的泛型类型参数声明中 1、 out关键字会导致参数通过引用来传递。 这与 ref 关键字类似,不同之处在于ref 要求变量必须在传递之前进行初始化。 若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。尽原创 2013-09-06 09:09:12 · 4286 阅读 · 0 评论 -
构造函数初始化器
构造函数初始化器在构造函数的函数体之前执行原创 2013-09-06 01:00:40 · 528 阅读 · 0 评论 -
C# 转义字符
字符串字面量放在双引号中c¨ .”);如果试图把字符串放在单引号中,编译器就会把它当作char, ∶从而引发错误。即字符串和char一样,可以包含unicode和十六进制数转义序列。因为这些转义序列以一个反斜杠开头,所以不能在字符串中使用这个非转义的反斜杠字符,而需要用两个反斜杠字 :符⑴ 来表示它:即使用户相信自己可以在任何情况下都记住要这么做,但输入两个反斜杠字符会令人迷惑。幸 :原创 2013-09-05 18:19:58 · 1145 阅读 · 0 评论