一、不可变类型string
string person_1 = "Alina";//注意string是引用类型
string person_2 = person_1;//这时候指向同一个空间
person_2 = "Catty";//这时候person_2新开了一个新的空间,跟person_1不是一个空间了
string本质是一个char类型一维数组
对char类型数组可以做如下操作:
char[] chars = { 'q', 'w', 'e', 'r' };
foreach (char c in chars) {
Console.WriteLine (c);
}
chars[0] = 'a';
foreach (char c in chars) {
Console.WriteLine (c);
}
对string可以做如下操作:
string string_1 = "qwer";
for (int i = 0; i < string_1.Length; i++) {
Console.WriteLine (string_1 [i]);
}
string是类,Length就是它的属性
但是不能作如下操作:
<span style="color:#ff6666">string_1[0] = 'a';</span>
因为这里的每个字符是只读的!
StringBuilder
需要System.Text
声明:
StringBuilder my = new StringBuilder("Hello World!");
二、重载
方法名必须相同,返回值类型没要求,参数列表不一样,可以参数类型不一样或者参数个数不一样
long AddValues(int a, int b) { return a + b; }
long AddValues(int a, int b, int c) { return a + b + c; }
long AddValues(float a, float b) { return (long)(a + b); }
long AddValues(long a, long b) { return a + b; }
构造方法可以有多个重载
不带参数的构造方法称为默认构造