1、string类型可看做是char的可读数组
C#中的字符串有一个重要特性:不可变性。即字符串一旦声明,内容就不可改变,只能够修改char数组,先将字符串用.ToCharArray()方法转换为char[]数组,对数组进行修改后,再使用string类型的构造方法,newstring(char[])来组成一个新的string类型变量
如,想将字符串clear修改为clean:
string word1="clear";
char[] temp = word1.ToCharArray();//定义一个char数组接受字符串中的字符。
temp[4]='n'; //修改char数组中的字符
string word2=new string(temp);//定义一个新的string变量接收修改后的char数组中的字符
Console.WriteLine(word2);
字符串的不可变性指的是内存中的变量不可改变,如上代码中,如给word1赋值,word1="clean",不会出错,但这样仅仅是让word1这个变量指向了另一块内存空间
2、string类型的常用函数
Split
string[] Split(params char[]separator)
将字符串按指定的分隔符分割为字符串数组,返回值为string[],参数是一个可变的char数组
例:
string str ="aa,bb,cc,dd.ee|ff";
string[]strs=str.Split(',','.','|');
foreach(string s in strs)
{
}
输出结果为:
aa
bb
cc
dd
ee
ff
Replace
string Replace(string oldValue,stringnewValue),此函数会将字符串中的oldValue替换为newValue
例:
string Teams="巴西,阿根廷";
Teams=Teams.Replace("巴西","荷兰");
Console.WriteLine(Teams);
输出结果:荷兰,阿根廷
Substring
string Substring(intstartIndex),取从第startIndex个(从0开始)字符开始到最后的子字符串
例:
string word="championship";
string sub = word.Substring(8);
Console.WriteLine(sub);
输出结果:ship
string Substring(int startIndex,intlength),去从第startIndex个开始,长度为length的子字符串,如果子字符串的长度不足Length则报错。
例:
stringword="championship";
string sub =word.Substring(8,2);
Console.WriteLine(sub);
输出结果:sh
boolContains(string value)
判断字符串中是否含有子字符串value
例:
stringnation="中华人民共和国";
if(nation.Contains("中华"))
{
}
else
{
}
运行结果:字符串中含有"中华"
类似的有:
boolStartsWith(string value) //判断字符串是否以value开始
boolEndsWith(string value) //判断字符串是否以value结束
int IndexOf(stringvalue):取value的第一个字符第一次出现的位置(从0开始计数),若字符串中没有出现value,则返回-1
例:
stringstr="2014巴西世界杯足球赛";
inti=str.IndexOf("世界杯");
Console.WriteLine(i);
输出结果:6
3、从文本读取数据
string[]lines=System.IO.File.ReadAllLines(@"D:\1.txt",Encoding.Default);
从文本文件读取数据,每个数组元素是一行。
4、获取当前日期和时间
DateTime dt = DateTime.Now;
5、生成随机数
Random r=new Random();
int i =r.Next(1,4);//生成一个1-4之间的随机数,能取到1,取不到4