在c#中是大小写敏感的,那么string与String是具有不同的含义的。
string是数据类型字符串,它的定义是一个类,class.System.string,而其余的像int、double、decimal等都是结构struct定义的,所以string在c#中是一个非常特殊的。
当我们Console.ReadLine()或 Console.ReadKey()的时候,得到的是一个字符串。string str=Console.ReadLine()或 Console.ReadKey()。这是我们只能对str进行读取,而不能赋值,否则会出错。
因此我们可以将string类型看做是一个只读的字符型数组char[ ],我们可以根据数组的下表进行遍历性读取。str[0],str[1].....都是可以直接读取的,如果要对其赋值,要先将其转换成char 型数组。例如将上面的str字符串转换成char型数组chars,char [ ] chars=str.ToCharArry( );那之后我们就可以对chars 进行数组的应用了,可以读取也可以赋值。
有的时候我们需将用户输入的内容进行分辨,比如将“How Do You Do ?”并统计单词个数,这时我们可以用
string str="How Do You Do?";
string[ ] str1=str.Split(' ');来处理,这时str1[0]="How",str1[1]="Do",str1[2]=You,str1[3]="Do?"要注意的是Split括号内的只能是char型的数组,如果是以多种的符号分隔开,则在括号内可以继续添加,以逗号隔开就行。例如string[ ] str1=str.Split(' ','!','?');
有的时候我们要将“Hi,man!What's up?”分开,这时字符串中除了“,”,“!”,“?”,“ ”外还有一串的空格,我们理解为空值,那这时我们可以调用另外一个方法来做:
string str = "Hi,man!What's up?";
char[] char1 = { ',', '!', '?', ' ' };
string[] str2 = str.Split(char1, StringSplitOptions.RemoveEmptyEntries);
那这时string[ ]内就是Hi,man,What‘t,up。四个单词。
在string内还有多的方法,比如ToLower( );将字符串内的所有大写字母变为小写;与此相对的是ToUpper();
当在vs 中输入str.的时候我们可以看到很多的方法提示。
如图:
就写到这吧,我也是一个初学者,在用string的时候总结了一下,跟大家分享。如果有不对的地方请大家指出来!谢谢!