C#
2022-01-15
51
概念:1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类、接口、数组和字符串)。C#中定义的值类型包括原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、枚举(enum)、结构(struct)引用类型包括:类、数组、接口、委托、字符串等。区别:基本区别在于它们在内存中的存储方式。值类型只将值存
2022-01-15
66
1)截取字符串使用substring方法,而该方法在c#中有两个重载函数:substring(参数),substring(参数1,参数2),用法如下:1<span style="font-size: 14px;"> string A ="I'm a string"; <br> string B=A.substring(1); <br> str
2022-01-15
69
前言:首先我们要知道为什么要使用构造函数,或者说我们要知道使用构造函数能够为我们解决什么问题: 1、在赋初值的时候,我们可能需要重复书写对象名,但是如果使用了构造函数就不用那么繁琐。毕竟代码像那个什么一样,越短越好嘛(大家都知道,我就不说出来了)。 2、假如有这样一个属性,不允许用户随意改动,我们一般把这个属性定义为只读类型的属性。那么这个只读类型的属性就不能再实例化之后对它赋值了,那么我们如何对它初始化呢?聪明如你,构造函数可以帮到我们。那么这么好用的东西,编译器有没有为我们做出来呢?当然有了,我们定义
2022-01-15
118
1、C#接口的作用 使用概括:定义接口,里面包含方法,但没有方法具体实现的代码。然后在继承该接口的类里面要实现接口的所有方法的代码。但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的。关于接口的作用,网上有一位就真的深入浅出给我们做了很好理解的分析。[csharp] view plain copy12345<p></p><pre code_sn
2022-01-15
522
首先如果读者对编码或者BOM还不熟悉的话,推荐先读这篇文章:.NET(C#):字符编码(Encoding)和字节顺序标记(BOM)。中文编码基本可以分成两大类:1. ANSI编码的扩展集合:比如GBK, GB2312, GB18030等,这类编码都不存在BOM(一些更新的标准中文编码,比如GB18030和GBK编码,都向后兼容GB2312编码)。2. Unicode编码集合:比如UTF-8, UTF-16, UTF-32等。这类编码可以有BOM,也可以不加BOM。3. 部分Unicode编码还存在具体字节
2022-01-15
49
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152using System; using System.Text.RegularExpressions; namespace CommonTools { /**//// <summary> ///
2022-01-15
55
我们在实际过程中要经常去检测含有中文字符串的实际长度, 因为中文字符,和英文字符在一起的话.判断起来你麻烦点. 原理跟在asp中的一样.逐个去判断.是中文加2英文加1. 代码如下:1234567891011ASCIIEncoding n = new ASCIIEncoding(); byte[] b = n.GetBytes(str); int l = 0; // l 为字符串之实际长度 for
2022-01-15
143
sealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。sealed关键字的作用: 在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类重写此方法。 sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 密封类: 密封类在声明中使用sealed 修饰符,这样就可以防止该类被其它类继承。如果试图将一个密封类