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语句块结束后会自动释放。

 

posted @ 2015-05-09 09:20  albertwmm  阅读(131)  评论(0)    收藏  举报