最新消息:把Logo换了一下,虽然丑了点,但至少完全是自己的设计

CSharp

C#中扩展方法的定义

宇托 2016-07-14 165浏览 暂无评论

在C#中,扩展方法算是一种比较不错的语法糖。它可以让我们能够向现有类型(包括值类型、引用类型以及接口)添加方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 在定...

C#中的自定义类型转换

宇托 2016-07-07 234浏览 暂无评论

在C#中,可以定义两种类型转换:隐式转换(implicit)和显示转换(explicit)。 这两种类型转换的定义方法如下代码: C#// 隐式转换定义 public static implicit 目标类型(原类型 变量参数) { ...

C#中的运算符重载

宇托 2016-06-30 215浏览 暂无评论

在C#中,和C++语言一样,也支持运算符重载。 我们可以重载一元运算符,二元运算符,以及比较比较运算符。如下表 运算符 可重载性 +, -, !, ~, ++, --, true, false 可以重载这些一元运...

C#索引器的定义

宇托 2016-06-30 197浏览 暂无评论

在C#中,索引器可以看成是属性的一种特殊形式。它和属性一样,可以定义get和set。定义好索引器之后,它可以使类像数组一样访问,但它和数组还是有区别的。 索引器和属性的区别 索引器以函数签名方式this来标识,而属性采用名称来标识,名称可以任...

C#中匿名方法和Lambda表达式的使用

宇托 2016-06-29 , 204浏览 暂无评论

在C#中,匿名方法和Lambda方法,应该说是差不多的概念,都是做为内部函数使用的,虽然两者写法上有很大的区别。 匿名方法和Lambda方法做为同一概念,要注意以下几点: 两者都不能访问定义方法中的ref和out参数 两者都可以访问外部方法...

C#中event关键字的使用

宇托 2016-06-29 193浏览 暂无评论

在C#中,event关键字应该算是一个语法糖的关键字吧。也就是说,不用event关键字也能实现一样的功能,但使用event关键字之后,代码量和可读性要提高很多。 在使用event关键字的地方,用delegate委托的方法也同样能实现,但在公开性的设...

C#中泛型参数的约束

宇托 2016-06-17 212浏览 暂无评论

泛型参数在强类型编程语言中,应该算一个很不错的语法。至于泛型参数的约束,在Java和C#里都有。 在C#中,用where来约束泛型参数。能使用的大概有以下几种类型: where T : struct:泛型参数<T>必须是值类型(s...

C#中的is和as关键字

宇托 2016-06-16 176浏览 暂无评论

在C#中,is和as主要用于类型的判断和赋值。 is关键字主要用于类型判断 is关键字是用来检查一个变量或值是否是类或者接口的实例。是则返回true,不是返回false。 如下代码: C#Object[] values = new Objec...

C#中的接口和抽象类

宇托 2016-06-14 227浏览 暂无评论

之前总是不太理解C#中接口和抽象类的区别和相同点,在网上找了找,然后看了书,大体理解了。 接口与抽象类的相同点 两者都不能实例化。 两者都可以包含未实现的方法和属性声明。 两者都派生类必须实现未实现的方法和属性。 接口与抽象类的具体...

谈谈C#中的sealed关键字

宇托 2016-06-02 258浏览 暂无评论

sealed关键字在C#中主要用于以下两个方面: 在类声明中使用sealed可指定该类为密封类,防止其它类继承此类。 在方法声明中使用sealed可指定该方法为密封方法,防止子类覆盖此方法。 下面来分别介绍一下密封类和密封方法。 密封...

谈谈C#中的访问修饰符

宇托 2016-05-19 243浏览 暂无评论

C#中的访问修饰符关键字有四个:public、protected、internal、private。如果用访问级别来区别可以分为五个级别:public、protected internal、protected、internal、private。 访...

说说C#中的static关键字

宇托 2016-05-17 , 201浏览 暂无评论

在C#中,static这个应该是用得比较多的。它能用于以下这些地方: 用于类的申明。可以申明类为静态类,静态类只能有静态构造函数、静态函数、静态字段、静态属性和常量。 用于构造函数的申明,申明为静态构造函数。静态构造函数不能有参数和访问修饰符...

C#中值类型和引用类型区别

宇托 2016-05-16 , , 250浏览 暂无评论

在C#中,所有的东西都是对象。但在对象类型中,又分为值类型和引用类型。 两者的主要区别是: 值类型的内存空间分配在栈上;而引用类型的内存空间分配在堆上。 栈的内存分配是自动释放;而堆的内存是由GC(垃圾回收)来释放 值类型存取速度快,引用...

C#中默认参数和可变参数的使用与限制

宇托 2016-04-27 321浏览 2条评论

C#中的默认参数相对Java来说是一个很不错的语法。当然可变参数params也不错,Java中也有,其语法是...。 那么两者在使用上有哪些限制和注意点呢? 先说说默认参数 默认参数必须放在所有必须参数之后。 因为默认参数的设值方式,所以...

C#函数参数中ref和out的使用方法与区别

宇托 2016-04-25 528浏览 暂无评论

在C#中,我经常用到ref和out这两个关键字,但对其区别也还不是很清楚。 基本上来说,C#函数参数的传递方法为分两种,一种转值,另一种是传址。对于不加任何修饰的函数参数来说,它都是传值的。传值又分为两种,一种是传对象值,另一种是传地址值。对于值类...