张磊(Avraber)

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C#基础加强-笔记

摘要:1.XML <1>XML是树形结构 -> XML语法规范 -> 标签(Tag) -> 嵌套(Nest) -> 属性(Attribute) -> 标签闭合、属性双引号、大小写敏感 -> XML结构(XML树) -> 父节点 -> 子节点 -> 兄弟节点 <?xml version="1.0" encoding="gb2312" ?> //XML的标头 <2>LinqToXML { static void Main(string[] args) { //1.创建一个XM 阅读全文
posted @ 2012-07-08 14:47 张磊(Avraber) 阅读(167) 评论(0) 推荐(0)

摘要:1.匿名方法与Lambda表达式 > 有时考虑方法只用一次的时候考虑使用 <1>匿名方法 -> 定义一个委托 委托类型 变量名 = delegate(参数) { // 方法体 } FuncDelegate MyFunc = Func; FuncDelegate MyFunc = delegate(int i) { Console.WriteLine("我是一个匿名方法, 传进来一个参数是{0}", i); }; <2>Lambda表达式 -> => 运算符 委托类型 变量名 = (参数) => { ... 阅读全文
posted @ 2012-07-08 14:46 张磊(Avraber) 阅读(160) 评论(0) 推荐(0)

摘要:<1>为什么要有委托 -> 自定义执行 -> 实现回调 -> 实现多线程 <2>委托的使用 委托是一种类型 [访问修饰符] delegate 类型名 委托名(参数列表); 准备方法 -> 准备委托 -> 定义委托变量 -> 使用 (1)定义一个方法(静态) static void Func() { } (2)定义委托 public delegate void FuncDelegate(); (3)定义委托变量 FuncDelegate Wo; (4)使用 使用类中的方法时 Wo = Fu... 阅读全文
posted @ 2012-07-08 14:45 张磊(Avraber) 阅读(179) 评论(0) 推荐(0)

摘要:正则表达式 -> 正则表达式就是一个字符串 -> 正则表达式用来进行匹配数据 -> 语言无关,js等很多地方都要使用 -> 类似于通配符,但不仅仅是通配符 <1>正则表达式的元字符 \w 匹配大小写英文字符及数字 0 到 9 之间的任意一个及下划线,相当于 [a-zA-Z0-9_] \W 不匹配大小写英文字符及数字 0 到 9 之间的任意一个,相当于 [^a-zA-Z0-9_] \s 匹配任何空白字符,相当于 [ \f\n\r\t\v] \S 匹配任何非空白字符,相当于 [^\s] \d 匹配任何 0 到 9 之间的单个数字,相当于 [... 阅读全文
posted @ 2012-07-05 23:29 张磊(Avraber) 阅读(148) 评论(0) 推荐(0)

摘要:1.序列化 (序列化就是指将一个类或者其他东西以二进制文件的方式存储在硬盘中,用的时候再转换回来) <1> 在类的前面加[Serializable],表示这个类可以序列化。 ------------>对象的序列化 直接将对象变成二进制的数据,写到硬盘中 1、加标记[Serializeable] (可序列化的意思) 2、使用FileStream 3、使用序列化对象BinaryFormatter (二进制格式的意思) [Serializable] class Person { } List<Person> personL... 阅读全文
posted @ 2012-07-04 18:09 张磊(Avraber) 阅读(195) 评论(0) 推荐(0)

摘要:1.StringBuilder -> 由于string的不变性,效率十分恐怖 -> 使用StringBuilder -> 是一个拼接字符串的一个工具 -> 常用方法 -> Append -> AppendLine -> ApplendFormat -> 使用时还是要用ToString()方法 class Program { static void Main(string[] args) { string[] temps = { "24214", "asdas414", "412fg" } 阅读全文
posted @ 2012-07-04 18:07 张磊(Avraber) 阅读(751) 评论(0) 推荐(0)

摘要:1.接口 接口的存在时因为一些子类有自己独有的方法,比如2个人,一个会开车,一个不会,这时候给会开车的人调用接口,使他掌握这个 (1)// 定义接口 interface 接口名 { // 定义方法 string(返回值类型) Function(方法)(int num)(参数); //定义接口的属性 int Num { get; set; } } //使用接口 class base:接口名 { public string Function { } int... 阅读全文
posted @ 2012-07-04 18:05 张磊(Avraber) 阅读(304) 评论(0) 推荐(0)

摘要:1.as的用法 // as 就是看左边的这个对象(左边的这个变量中指向的对象) 能不能转化为右边的类型 // 如果可以转换,就将转化后的结果赋值给=左边的变量 // 如果不能转换,就给左边的变量附一个null chinese2(类) dirver(实例化对象)=p[i](被判断的对象) as chinese2 (看这个对象是否可以通过里氏转化转化成这个类) if (driver != null) //假如是存在的,既不为null,则进行调用方法操作,调用的是子类方法 { Console.Write(i + "\t"); driv... 阅读全文
posted @ 2012-07-04 18:03 张磊(Avraber) 阅读(248) 评论(0) 推荐(0)

摘要:1.继承 继承是创建一个子类,然后子类可以继承父类的属性; 当子类需要使用构造函数时,需使用关键字base来继承下属性; 在继承中,无论父类子类,用构造函数时,都需要创建一个无参构造方法进行重载,不然会出错;2.里氏转换的原则 (1)子类直接赋值给父类(子类可以直接转化成父类) // Person[] ps = { c1, a1, j1, k1 }; 这是直接把子类的c1,a1,j1,k1直接赋值给父类; (2)指向子类的父类,可以强制转化为对应的子类 // ((Chinese)ps[0]).SayHello; 这里就是把父类实例化出的ps强制转化成chinese子类;... 阅读全文
posted @ 2012-07-04 17:59 张磊(Avraber) 阅读(308) 评论(0) 推荐(0)

摘要:1.文档注释与类库的生成 (1)类库的生成 右击添加新建项,建立类库(DLL)。 (2)导入类库 在项目中建立文件夹DLL,直接把外部DLL和XML文件拖入文件夹,然后右击引用,添加引用,选中DLL文件,确定即可。 (3)XML注释的生成 右击项目属性,选择生成,把XML文档文件勾上。2.随机数 random r=new random(); gender = r.Next() % 2 == 0 ? '男' : '女'; 随即生成男女 关于随机数每次生成的都是不一样的,要进行多次运用生成的随机数时,应该定义个变量接受这个随机数。 3.属性 ... 阅读全文
posted @ 2012-07-04 17:57 张磊(Avraber) 阅读(179) 评论(0) 推荐(0)

摘要:1.枚举 枚举的格式: enum 枚举名 { 可能取到的值1, // 0 可能取到的值2, // 1 可能取到的值3 // 2 } 枚举名 meiju = 枚举名.可能取到的值3; enum Gender { 男, 女 } Gender sex = Gender.男; 枚举其实是由数字构成的,值1默认为0,值2默认为1.....假如我们给值自己设置值,就可以引入标志枚举; 如 enum 方向 { 东 = 1, // 1 01 南 = 2, // 2 10 ... 阅读全文
posted @ 2012-07-04 17:54 张磊(Avraber) 阅读(137) 评论(0) 推荐(0)

摘要:1.System.IO.Path的成员介绍 名称 说明 ChangeExtension 更改路径字符串的扩展名。 Combine( array<String []()>[]) 将字符串数组组合成一个路径。 Combine(String, String) 将两个字符串组合成一个路径。 Combine(String, String, String) 将三个字符串组合成一个路径。 Combine(String, String, String, String)将四个字符串组合成一个路径。 GetDirectoryName 返回指定路径字符串... 阅读全文
posted @ 2012-07-04 17:49 张磊(Avraber) 阅读(142) 评论(0) 推荐(0)

摘要:------->ArrayList 是一个有序的集合,可以通过索引进行插,删,改等 <1>集合就是一个动态的数组,使用时需要引入命名空间using System.Collections,list.count是计算集合的长度 <2>对集合的操作: ->增 ArrayList list = new ArrayList(); list.Add(需要增加的东西) Add方法一次只能增加一个数据 //list.Add("哈哈哈"); 想要将数组元素增加进去,则用list.AddRange(nums),这个方法也可以增加一个集合进去,包括自己 //i 阅读全文
posted @ 2012-07-01 20:12 张磊(Avraber) 阅读(141) 评论(0) 推荐(0)

摘要:string temp = string.Empty; (1)字符串是引用类型; 正常的针对1个字符串的操作都是Str1.就是实例化出来的东西然后点,对多个字符串就string.(点) (2)类需要使用new <构造方法>()来进行实例化,同样字符串也行 string <name> = new string(new char[] {...}); 各类常用构造方法的重载 <1>char[] value char [] c1={'1','2','3','4','5'}; string 阅读全文
posted @ 2012-06-30 19:32 张磊(Avraber) 阅读(339) 评论(0) 推荐(0)