您现在所在的位置:首页 >学习资源 > Unity游戏/VR/AR入门教材 > VR开发入门教程37:控制台编程--字符串01

VR开发入门教程37:控制台编程--字符串01

来源:奇酷教育 发表于:

C 中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。string可以看做是char的只读数组。注意:对该类对象的任何操作都将

C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。string可以看做是char的只读数组。
注意:对该类对象的任何操作都将返回一个新的字符串对象 除了Clone Clone直接将该字符串的引用返回了
 
示例:
String s1 = "a";
String s2 = s1 + "b";
Console.WriteLine(Object.ReferenceEquals (s1,s2));
 
谁说字符串不可变?string s = "abc";s="123“;,s这不是变了吗
要区分变量名和变量指向的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。
string s10 = s;//s10指向s指向的字符串,而不是s10指向s,哪怕s以后指向了其他内存,那么s10还是指向从前s指向的字符串。

字符串是一个字符数组,所以可以用遍历数组的方式遍历字符串的每一个位子的字符。
 
示例:
String s1 = "123456";
for (int i=0;i
{
Console.WriteLine(s1[i]);
}
 
注意:
字符串中的字符位置和数组一样从下标0开始
字符串和数组一样有Length属性
字符串和数组一样可以按索引的方式访问
ToLower 方法、ToUpper 方法是我们对字符串进行大小写转换时用到的方法,一般用于不区分大小写比较。
 
示例:
两个学员输入各自最喜欢的课程名称,判断是否一致,如果相等,则输出你们俩喜欢相同的课程;如果不相同,则输出你们俩喜欢不相同的课程。如果两位同学输入 c#和 C#代表同一门课,怎么办?


字符串的截取
Substring 方法
Substring(Int32)
Substring(Int32, Int32)
 
示例:
String s = "We will go further to modify a String by copy! ";        
Console.WriteLine("From String\"" + s + "\"");        
String sub1 = s.Substring(21);     
String sub2 = s.Substring(0,21);       
Console.WriteLine("Get a sub string from index 21 to the end:"+ sub1);       
Console.WriteLine("Get a sub string from index 0 to 20:" + sub2);        
String cons=String.Concat(sub1,sub2);        
Console.WriteLine("Concat two sub string into one:\n" + cons);