C#02 (字符串 数组 )
字符串
C#语言的字符串是由一个或多个Unicode字符构成的一组字符序列。
用string类型
string类型的常量:用双引号引起来
例如:
string str1 = "ABCD";
string str2 = str1;
int i = 3;
string str3 = str1 + str2;
string str4 = str1 + i;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NOmKRmgc-1616219678517)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210320103212977.png)]
注意:string是Unicode字符串,计算字符串长度时,每个英文字母的长度为1,每个汉字的长度也是1。
string str1 = "123张三";
Console.WriteLine(str1.Length);//结果是:5
Console.ReadLine();
字符串查找
方法1:用string[index]得到字符串中第index个位置的单个字符。
方法2:用Contains方法查找一个字符串中是否包含指定的子字符串方法3:用StartsWith方法和EndsWith方法,从字符串的首或尾开始查找指定的子字符串,并返回布尔值(true或false)
获取字符串中的单个字符或者子字符串
1.可直接用中括号指明字符在字符串中的序号
string str1 = "abcd";
char mychar = str1[2];//从0开始所以2就是字符串的第三位
Console.WriteLine(mychar);//结果为c
2.Substring方法:得到从某个位置开始的子字符串。
string s1 = "abc123";
string s2 = s1.Substring(2);//从第二截取
string s3 = s1.Substring(2, 3);//从第二个数总共三个字符
Console.WriteLine(s1);//结果: abc123
Console.WriteLine(s2);//结果: c123
Console.WriteLine(s3);//结果: c12
字符串的插入、删除与替换
string s1 = "abcdabcd";
string s2 = s1.Insert(2,"12");//将第3位插入12 //结果ab12cdabcd
string s3 = s1.Remove(2);//移除第3位及以后的字符串//结果ab
string s4 = s1.Remove(2, 1);//移除第三位一位 //结果abdabcd
string s5 = s1.Replace('b', 'h');//将所有的b换成h //结果ahcdahcd
string s6 = s1.Replace("ab", "");//将所有ab换成换出//结果cdcd
字符大小写转换
string s1 = "This is a string";
string s2 = s1.ToUpper();//将所有字符大写
string s3 = s1.ToLower();//将所有字符小写
数组
数组表示相同类型的对象的集合。
数组是引用类型。
声明数组类型是通过在某个类型名后加一对方括号来构造的。
数组的秩(rank)是指数组的维数,如一维数组秩为1,二维数组秩为2。
数组长度是指数组中所有元素的个数。例如:
int[] a = new int[10]; //10个元素,分别为a[0]、a[1]……a[9]
int[,] b = new int[3, 5]; //长度为3*5=15,其中第0维长度为3,第1维长度为5
数 组 类 型 | 语 法 | 示 例 |
---|---|---|
一维数组 | 数据类型[ ] 数组名; | int[ ] myArray; |
二维数组 | 数据类型[,] 数组名; | int[,] myArray; |
三维数组 | 数据类型[,] 数组名; | int[,] myArray; |
交错数组 | 数据类型[ ][ ] 数组名; | int[] [] myArray; |
一维数组的Length属性表示数组的长度。例如:
int arrayLength = a.Length;
string[] a2 = new string[] { “first”, “second”, “third” }; 最好使用这种定义
一维数组和交错数组用的比较多
string[][] a = new string[3][];
a[0] = new string[2] { "a11", "a22" };
a[1] = new string[3] { "a21", "a22", "a23" };
a[2] = new string[5] { "a","b","c","d","e"};
for (int i=0;i<a.Length;i++)
{
for(int j=0;j<a[i].Length;j++)
{
Console.Write("a[{0}][{1}]={2}\t", i, j, a[i][j]);
}
Console.WriteLine();
}
Console.ReadLine();
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1pQlbwH-1616219678524)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210320133346957.png)]
Average方法、Sum方法、Max方法和Min方法。
数组元素的复制、排序与查找
常用有:
Copy方法:将一个数组中的全部或部分元素复制到另一个数组中。
Sort方法:使用快速排序算法,将一维数组中的元素按照升序排列。
Reverse方法:反转一维数组中的元素。
另外,还可以使用该类提供的Contains方法和IndexOf方法查找指定的元素。