C# string字符串类型的用法(新手必看)
C# 中的 字符串(string)是由 1 到多个字符组成的,在 C# 概念中这是引用数据类型(Reference Type),字符串没有 NULL(‘\0’)结尾字符。
在 C# 定义中,字符串的关键词是 string,这是 System.String 在 .NET 中的别名,如果要设定字符串可以用双引号
尽管 string 是引用数据类型,但是程序中仍可以用“==”(相等)或“!=”(不相等)做字符串的比较。
字符串内容是不可变的,如果我们重新设定字符串的变量内容,编译程序实际是在执行下列两个动作:
【实例】字符串的声明。
例如,有一个字符串是 This is James’s ball:
再举个例子,含转义字符的字符串声明:
例如,假设有一个字符串是 This is James’s ball:
再比如,含转义字符的字符串声明:
【实例】字符串声明与输出。
【实例】撰写多行字符串的实例,读者要留意第 2~第 4 行之间跨行的字符串。
在 C# 定义中,字符串的关键词是 string,这是 System.String 在 .NET 中的别名,如果要设定字符串可以用双引号
""
,将字符串放在两个双引号之间即可。尽管 string 是引用数据类型,但是程序中仍可以用“==”(相等)或“!=”(不相等)做字符串的比较。
字符串内容是不可变的,如果我们重新设定字符串的变量内容,编译程序实际是在执行下列两个动作:
- 将新的内存内容赋值给字符串变量;
- 原先存放内容的内存空间会被系统回收。
【实例】字符串的声明。
string str1 = "I like C#"; // 设定字符串 I like C# var str2 = "I like C#"; // 设定字符串 I like C#
C#字符串内含有转义字符
若是字符串内有转义字符,必须多加一个“\”字符。例如,有一个字符串是 This is James’s ball:
string str1 = "This is James\'s ball"; // 设定字符串This is James's ball
再举个例子,含转义字符的字符串声明:
string str1 = "D:\\Python\\ch1"; // 设定字符串D:\Python\ch1
C# @字符与字符串
如果一个字符串内部有转义字符,且在字符串双引号左边加上 @ 字符,则可以防止转义字符被转译。例如,假设有一个字符串是 This is James’s ball:
string str1 = @"This is James's ball"; // 设定字符串This is James's ball
再比如,含转义字符的字符串声明:
string str1 = @"D:\Python\ch1"; // 设定字符串D:\Python\ch1
【实例】字符串声明与输出。
string str1 = "I like C#"; var str2 = "I like C#"; string str3 = "This is James's ball"; string str4 = @"This is James's ball"; // 另一种写法 string str5 = "D:\\Python\\ch3"; string str6 = @"D:\Python\ch3"; // 另一种写法 Console.WriteLine(str1); Console.WriteLine(str2); Console.WriteLine(str3); Console.WriteLine(str4); Console.WriteLine(str5); Console.WriteLine(str6);执行结果为:
I like C#
I like C#
This is James's ball
This is James's ball
D:\Python\ch3
D:\Python\ch3
C#撰写多行字符串
如果要撰写多行字符串,则语法如下:string str = @" "; // 空格内的字符串有多行
【实例】撰写多行字符串的实例,读者要留意第 2~第 4 行之间跨行的字符串。
string str = @"My name is Jiin-Kwei Hung. I was born in Hsinchu. I graduated from Ming-Chi Institute of Technology."; Console.WriteLine(str);执行结果为:
My name is Jiin-Kwei Hung.
I was born in Hsinchu.
I graduated from Ming-Chi Institute of Technology.