//三种初始化方式
StringBuilder sb = new StringBuilder("strstrstr");
StringBuilder sb = new StringBuilder(length);
StringBuilder sb = new StringBuilder("str",length);这里的length是临时的长度,当类容超过这个长度时,就会重新申请长度,长度的两倍
s.CompareTo("str") //相等返回0,大于返回1,小于返回-1
s.Replace('s','b') //将s换成b,返回新的字符串
string[] arr = s.Split('.'); //以给定字符切分字符串为字符串数组
s.Substring(startIndex,length); //截取指定位置的子字符串为新的字符串
FileStream fs = new FileStream(File_Name,FileMode.Open,FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
r.ReadString();
r.Close();
fs.Close();
using(StreamReader sr = File.OpenText(File_Name)){
string input;
while((input = sr.ReadLine()) != null){
Console.WriteLine(input);
}
sr.Close();
}
using(StreamWriter w = File.AppendText("test.txt")){
Log("hehe",w);
w.close();
}
public void static Log(string logMessage,TextWriter w){
w.Write("\r\nLog Entry:");
w.WriteLine(":{0}",logMessage);
w.Flush();
}文件操作或数据库连接等比较消耗资源的操作,使用using在结束时自动释放
FileStream fs = new FileStream(File_Name,FileMode.Create);
BinaryWriter w = new BinaryWrite(fs);
w.write("a");
w.close();
fs.close();FileMode中有:
Open,文件不存在报错
OpenOrCreate,打开或创建
Appent,追加
DirectoryInfo dir = new DirectoryInfo(Path);//针对某一个文件夹的信息
foreach(FileInfo f in dir.GetFiles("*.exe")){
//f.Name 文件名字
//f.Length 这是啥
//f.CreationTime 文件创建时间
}
File和Directory是静态类
using System.IO; File.Exists(@"C:\1.txt");//判断文件是否存在 Directory.Exists(路径);//判断文件夹是否存在
List<int> list = new List<int>(20);
public int this[int index] {
get {
if (index < 0) {
index = 0;
}
if (index > 19) {
index = 19;
}
return list[index];
}
set {
if (index < 0)
{
index = 0;
}
if (index > 19)
{
index = 19;
}
list[index] = value;//value就是赋值的数据
}
}索引器使用前,那个集合必须先要初始化了
就是使用Add方法添加元素,不能通过索引赋值的方式添加元素
泛型类
class A<T>{
public T a;
}创建对象时需要指定T的类型
A<int> obj = new A<int>();//int就会替代调T
泛型方法
static T Add<T>(T a,T b){}
有时候,父类是拥有多个构造函数的
所以在编写子类构造函数需要指定使用父类的哪个构造函数
public 构造函数(参数a):base(参数a){}