C#
文章平均质量分 51
HNJAVA201103293613
这个作者很懒,什么都没留下…
展开
-
虚拟方法与抽象方法异同
虚方法一般可以在父类实现,子类不重写的话就按父类的实现抽象方法则是在抽象父类里声明,没有实现,也就是子类必须重写抽象方法 使用abstract关键字 public abstract bool Withdraw(…); 抽象方法是必须被派生类覆写的方法。 抽象方法是可以看成是没有实现体的虚方法 如果类中包含抽象方法,那转载 2015-04-03 11:26:00 · 534 阅读 · 0 评论 -
继承 、调用父类构造方法与方法
using System;public class People{ public People (){}//有继承必须有无参构造方法; public People(int i){ Console.WriteLine ("this is "+i); } public void say(int i){ Consol原创 2015-04-06 17:43:16 · 185 阅读 · 0 评论 -
base与this
base(C# 参考)Visual Studio 2013 其他版本base 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用 base 关原创 2015-04-06 17:09:11 · 202 阅读 · 0 评论 -
Lambda表达式
using System;using System .Collections.Generic ;namespace lesson2{public delegate int caculate(int a,int b);public class delegateApplication { public class Test{原创 2015-04-10 13:23:19 · 124 阅读 · 0 评论 -
C#委托
using System;using System .Collections.Generic ;namespace lesson2{ delegate void MyDelegate(string s,string s1); public delegate int caculate(int a,int b); public delegate原创 2015-04-10 13:11:34 · 151 阅读 · 0 评论 -
C#事件与委托
using System;namespace lesson2{ public class Student{ public string name; public Student(string name){ this.name =name; } public void Rec原创 2015-04-10 13:05:08 · 188 阅读 · 0 评论 -
虚拟属性与抽象属性重写的异同
public abstract class A { //抽象属性不能有实现代码 public abstract string AbstractProperty { get; set; } string s; //虚拟属性可以有实现代码转载 2015-04-03 11:21:26 · 206 阅读 · 0 评论 -
虚拟属性与抽象属性的重写之异同
public abstract class A { //抽象属性不能有实现代码 public abstract string AbstractProperty { get; set; } string s; //虚拟属性可以有实现代码2015-04-03 11:20:12 · 113 阅读 · 0 评论 -
C# 字符串应用
using System ;namespace StringApplication{ class Test{ static void Main(string[]args){ string str = "学习unity3D,开发经典游戏"; //string 类型是一个数组类型; char str1 = s原创 2015-04-03 14:45:29 · 169 阅读 · 0 评论 -
C# 扩展方法和外部方法
1. 扩展方法扩展方法是静态方法,是类的一部分,但是实际上没有放在类的源代码中。扩展方法所在的类也必须被声明为staticC#只支持扩展方法,不支持扩展属性、扩展事件等。扩展方法的第一个参数是要扩展的类型,放在this关键字的后面,告诉编译期这个方法是Money类型的一部分。在扩展方法中,可以访问扩展类型的所有公共方法和属性。using System;转载 2015-04-03 16:19:55 · 175 阅读 · 0 评论 -
静态属性及方法
一、静态字段 @1、与实例字段一样,可以在声明的同时进行初始化。@2、与实例字段不同,如果没有对静态字段进行初始化,静态字段将自动获取默认值(0,null,false等)。所以,一个静态字段即使没有被显示地赋值,也可以被访问。二、静态属性三、静态方法@1、this关键字在静态方法中是无效的。因为静态方法不是通过一个特定的实例来引用的。@2、一般静态转载 2015-04-03 11:35:33 · 297 阅读 · 0 评论 -
C# 迭代器的使用
迭代器概述迭代器是可以返回相同类型的值的有序序列的一段代码。迭代器可用作方法、运算符或 get 访问器的代码体。迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield。可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用转载 2015-04-03 16:15:54 · 137 阅读 · 0 评论 -
利用partial关键字声明分部类和分部方法
一、分部类1、分部类的定义:简单的说,分部类就是把一个类拆分成多个类,每个类文件只包含其中的一部分,类、结构、接口、方法都可以拆分,在定义的时候加上partial修饰符。分部类必须属于同一命名空间。2、分部类的应用:@1、分部类对于代码生成或修改工具来说意义重大。使用分部类,这些工具操作的文件可以独立于开发者正在人工编码的文件。 例如:假如一个代码生成工具转载 2015-04-03 15:41:44 · 395 阅读 · 0 评论 -
C#多态
通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。多态性不仅对派生类很重要,对基类也很重要。任何情况下,使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象。基类的设计者可以预测到其基类中原创 2015-04-03 12:09:59 · 182 阅读 · 0 评论 -
C#:集合的索引器和索引器的重载
c#定义的集合类型包括Array、List、Queue、Stack等,其中数组类型是唯一一个提供内置支持的集合类型,包括内置索引器,可通过[]实现,支持排序和反序等。若一个类中包含数组类型,则可为该类创建索引器,已实现该数组的访问。using System;using System.Collections.Generic;using System.Linq;using System转载 2015-04-03 16:24:19 · 387 阅读 · 1 评论 -
C#重载、覆盖、重写区别
overload:重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。override:过载也称重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用new关键字来覆盖是有区别的。new:覆盖指的是不同类中(基类或派生类)有两个或多个返回类型、方法名、参数都相同,但是方法体不同转载 2015-04-03 12:05:02 · 222 阅读 · 0 评论 -
C#类中添加索引器
昨天有朋友问我C#中索引器怎么用的,给他解释了一番。问问其他的人,也回答不会用。显然的,因为觉得索引器不常用,都把它淡忘了,其实索引器我们经常在使用:访问数组、集合元素时:array[i],访问DataGridView、GridView时:gridView.DataKeys[index][“cellName”],ADO.NET中:DataReader[“columnName”]。等等,用的还是比较转载 2015-04-03 16:31:18 · 478 阅读 · 0 评论 -
C# 委托与事件
委托给了C#操作函数的灵活性,我们可使用委托像操作变量一样来操作函数,其实这个功能并不是C#的首创,早在C++时代就有函数指针这一说法,而在我看来委托就是C#的函数指针,首先先简要的介绍一下委托的基本知识:委托的定义委托的声明原型是 delegate ()例子:public delegate void CheckDelegate(int number);//定义了一个委托C转载 2015-04-03 13:59:17 · 417 阅读 · 0 评论 -
C#的单例四种写法
第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我……public class Singleton{ private static Singleton _instance = null; private Singleton(){} public static Singleton CreateInstance()转载 2015-04-07 16:35:22 · 283 阅读 · 0 评论