out参数
- out参数侧重于在函数中返回多个值
- out参数要求必须在方法的内部为其赋值
static void Main(string[] args)
{
int n;
string s;
bool b = Test(out n,out s);
Console.Write(b);
Console.Write(n);
Console.Write(s);
Console.ReadKey();
}
static bool Test(out int number, out string res)
{
number=10;
res = "张三";
return true;
}
ref参数
- ref参数侧重于把一个值带到函数中进行改变,再将改变的值带出函数
- ref参数在函数内不用赋值,函数外必须为ref参数赋值
static void Main(string[] args)
{
int n1 = 10;
int n2 = 10;
Change(ref n1,ref n2);
Console.Write("{0}---{1}",n1,n2);
Console.ReadKey();
}
static bool Change(ref int n1, ref int n2)
{
int temp = n1;
n1 = n2;
n2 = temp;
}
List泛型集合
- Count:获取集合中实际包含的元素的个数
- Capcity:集合中可以包含的元素的个数
- Add:添加单个元素
- AddRange:添加集合
- Remove:移除最先匹配到的元素
- RemoveAll:移除所有符合条件的元素
- RemoveAt:根据索引移除元素
- RemoveRange:移除一个集合
- Insert:根据索引插入元素
- InsertRange:根据索引插入一个集合
- ToArray():集合转换成数组
- ToList():数组转换成集合
- 集合初始化器
List<string> list1 = new List<string>() { "a", "b", "c" };
Dictionary键值对集合
- 键值对集合中的键必须是唯一的,值是可以重复的
- 可以给键值对集合中的某个值进行重新赋值
- ContainsKey():判断集合中是否已经包含某个键
- 使用foreach循环,通过遍历键值对的形式对键值对集合进行遍历
//第一种遍历方式
foreach (string item in dict.Keys)
{
Console.WriteLine("键--{0},值--{1}", item, dic[item]);
}
//第二种遍历方式
foreach(KeyValuePair<string, string> kv in dic)
{
Console.WriteLine("键--{0},值--{1}", kv.Key, kv.Value);
}
常用类库之File类
常用方法
- Exist():判断指定文件是否存在
- Create():创建
- Move():剪切
- Copy():复制
- Delete():删除
- ReadAllLines():读取文件所有行
- ReadAllText():读取文件所有文本
常用类库之Directory类
- CreateDirectory():创建一个新的文件夹
- Delete():删除
- Move():剪切
- Exist():判断指定文件夹是否存在
- GetFiles():获得指定目录下所有文件的全路径
- GetDirectories():获得当前目录下的所有文件夹路径
正则表达式
常用的3种情况
- 判断是否匹配:Regex.IsMatch("字符串","正则表达式");
- 字符串提取:Regex.Match("字符串","要提取的字符串的正则表达式");(提取一次)
- 字符串提取(循环提取所有):Regex.Matches();(可以提取所有匹配的字符串)
- 字符串替换:Regex.Replace("字符串","正则","替换内容");