摘要:
正则表达式输出查询结果 //正则 第一种方法 Regex regex = new Regex(@"\d{0,}\.\d{0,}\,\d{0,}\.\d{0,}");//经纬度表达式 string result = regex.Match(text).Value;//查找出字符中经纬度的值 第二种 输 阅读全文
摘要:
.net framework的类库中提供了三个可以用于序列化和反序列化的类,分别为BinaryFormatter、SoapFormatter和XmlSerializer。 BinaryFormatter的命名空间为System.Runtime.Serialization.Formatters.Bin 阅读全文
摘要:
案例:定一个Person类,定一个监听年龄变化的事件,当本命年的时候祝贺一下。触发事件的地方要判断一下是不是事件null 事件语法:event Mydelegate mdl; 加了event关键字实现事件机制的好处:用了event事件,不可以修改事件已经注册的值;不可以冒充进行事件通知了。只能+=、 阅读全文
摘要:
普通参数是“值类型传递拷贝,引用类型传递引用”,但是都不能在函数内部修改外部变量的指向(p.Age=5不是可以吗?),这时候要用ref或者out(相当于把变量都传进去了),他们的作用不同:ref的作用“方法内部修改外部变量的引用”;out的作用“方法内部给外部变量初始化,相当于一个函数多个返回值”。 阅读全文
摘要:
字符串不可变性,字符串的‘暂存池’两个特性 字符串是引用类型,程序中会存在大量的字符串对象,如果每次都创建一个字符串对象,会比较浪费内存、性能低,因此CLR做了“暂存池”(拘留池,缓冲池,暂存池),在一些情况下对于字符串对象进行了重用。 string s1 = "rupeng"; string s2 阅读全文
摘要:
查看判断两个对象是否是同一个对象要用:object.ReferenceEquals(); 因为“==”默认值是比较两个对象是不是同一个对象。所以有时候两个对象的内容相等,但是比较后还是false。 Object的Equals方法也比较两个变量指向的是否同一个对象;对象如果override 了Equa 阅读全文
摘要:
值类型赋值给Object类型变量的时候,会发生装箱:包装成Object。ValueType不也是继承自Object吗(CLR内部处理); Object类型变量赋值给值类型赋值的时候会发生拆箱,需要做显式转换。 下面几句代码有没有错,解释一下内存是怎么变化的 int i=10; object obj 阅读全文
摘要:
1、 .Net平台下不只有C#语言,还有VB.Net、F#等语言。IL是程序最终编译的可以执行的二进制代码(托管代码),不同的语言最终都编译成标准的IL(中间语言,MSIL);这样C#可以调用VB.Net写的程序集(Assembly,dll、exe)。在.Net平台下:不同语言之间可以互联互通、互相 阅读全文
摘要:
结构体 在平时的开发中很少自己去写结构体,他是一种值类型的数据。对于结构,不像类那样存在继承,一个结构体不能从另一个结构或类继承。但是结构体从基类Object继承。 语法: //struct是定义结构体的关键字 Struct MyStruct { Public string Name{get;set 阅读全文
摘要:
深拷贝、浅拷贝 如果拷贝的时候共享被引用的对象就是浅拷贝,如果被引用的对象也拷贝一份出来就是深拷贝。(深拷贝就是说重新new一个对象,然后把之前的那个对象的属性值在重新赋值给这个用户) using System; using System.Collections; using System.Coll 阅读全文
摘要:
1、密闭类是修饰为sealed的类, sealed不能有子类。一般只有系统中的一些基本类声明为sealed。面试题:是否可以编写一个类继承自String类? 答:不能,因为string被声明为了sealed了 2、静态类:声明为static的类,不能实例化,只能定义static成员。通常用他定义扩展 阅读全文
摘要:
没有名字 ,索引器的内部本质 (ILSpy的IL模式下看)类型 this[参数]{get;set;} 可以是只读或者只写(在get或者set前加上private) 字符串是只读索引,因此不能对字符串中的某个字符进行从新赋值,即只能char ch = s[5];不能s[5]=‘a’。 开发中自己写的机 阅读全文
摘要:
这篇文章主要讲解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建项目框架的时候。 一、什么是泛型 泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。 我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的 阅读全文