c# 重新从基础看起,记录下不知道和容易忘记的内容
仅以记录重新学习中被遗忘的内容
1、索引器
string s = "abcdefg"; char c = s[3]; Console.Write(s[3]); char[] chs = s.ToCharArray(); s = new string(chs);
具体参考:go->索引器
2、继承:基类
public class Programmer : Person
{
private int _workYear;
public int WorkYear
{
get { return _workYear; }
set { _workYear = value; }
}
public Programmer(string name, int age, char gender, int workYear)
: base(name, age, gender)
{
this.WorkYear = workYear;
}
}
代码中 base(name,age,gender) 为父类Person中定于的有参构造函数
3、集合
ArrayList 可以添加数组集合,可以使用addRange()方法
4、装箱拆箱
装箱:就是将值类型转换为引用类型。
拆箱:将引用类型转换为值类型。
看两种类型是否发生了装箱或者拆箱,要看,这两种类型是否存在继承关系。
int n = 10; IComparable i = n;//装箱

5、using()语法
//原
FileStream fsRead = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[1024 * 1024 * 5];
int r = fsRead.Read(buffer, 0, buffer.Length);
string s = Encoding.UTF8.GetString(buffer, 0, r);
//关闭流
fsRead.Close();
//释放流所占用的资源
fsRead.Dispose();
//新
using (FileStream fsWrite = new FileStream(@"C:\Users\SpringRain\Desktop\new.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
string str = "覆盖掉";
byte[] buffer = Encoding.UTF8.GetBytes(str);
fsWrite.Write(buffer, 0, buffer.Length);
}
using中声明的对象,在using语句块结束后会自动释放。
浙公网安备 33010602011771号