C# string字符串的声明、初始化和使用(附带实例)
前面介绍了 char 类型可以保存字符,但它只能表示单个字符。如果要用 char 类型来展示像“版权说明”、“功能简介”之类的内容,则可以使用 C# 中最常用到的一个概念—字符串。
顾名思义,字符串就是用字符拼接成的文本值。字符串的存储方式类似于数组,不仅字符串的长度可取,而且每一位上的元素也可取。在 C# 语言中,可以通过 string 类创建字符串。
注意在 C# 中,由双引号(" ")包围的都是字符串,不能作为其他数据类型来使用,例如,"1+2" 的输出结果永远也不会是 3。
可以通过以下语法格式来声明字符串:
例如,声明一个字符串变量 strName,代码如下:

图 1 使用未初始化的变量时的错误提示
从图 1 可以看出,要使用一个变量,必须首先对其进行初始化(即赋值),对字符串进行初始化的方法主要有以下几种:
1) 引用字符串常量,示例代码如下:

图 2 两个字符串对象引用相同的常量
2) 利用字符数组初始化,示例代码如下:
3) 提取字符数组中的一部分初始化字符串,示例代码如下:
例如,定义一个字符串变量,并为其赋值,然后使用 Length 属性获取该字符串的长度,代码如下:
例如,定义一个字符串变量,并为其赋值,然后获取该字符串索引位置为 5 的字符并输出,代码如下:
顾名思义,字符串就是用字符拼接成的文本值。字符串的存储方式类似于数组,不仅字符串的长度可取,而且每一位上的元素也可取。在 C# 语言中,可以通过 string 类创建字符串。
C#字符串的声明
在 C# 语言中,字符串必须包含在一对双引号(" ")之内。例如:"23.23"、"ABCDE"、"你好"这些都是字符串常量,字符串常量是系统能够显示的任何文字信息,甚至是单个字符。
注意在 C# 中,由双引号(" ")包围的都是字符串,不能作为其他数据类型来使用,例如,"1+2" 的输出结果永远也不会是 3。
可以通过以下语法格式来声明字符串:
string str = [null];
- string:指定该变量为字符串类型;
- str:任意有效的标识符,表示字符串变量的名称;
- null:如果省略 null,表示 str 变量是未初始化的状态,否则,表示声明的字符串的值就等于 null。
例如,声明一个字符串变量 strName,代码如下:
string strName;
C#字符串的初始化
声明字符串之后,如果要使用该字符串,例如,下面的代码:string str; Console.WriteLine(str);运行上面的代码,将会出现如下图所示的错误提示。

图 1 使用未初始化的变量时的错误提示
从图 1 可以看出,要使用一个变量,必须首先对其进行初始化(即赋值),对字符串进行初始化的方法主要有以下几种:
1) 引用字符串常量,示例代码如下:
string a = "时间就是金钱,我的朋友。"; string b = "锄禾日当午"; string str1, str2; str1 = "We are students"; str2 = "We are students";当两个字符串对象引用相同的常量时,就会有相同的实体,例如,在上面的代码中,str1 和 str2 的内存示意图如下图所示。

图 2 两个字符串对象引用相同的常量
2) 利用字符数组初始化,示例代码如下:
char[] charArray = { 't', 'i', 'm', 'e' }; string str = new string(charArray);
3) 提取字符数组中的一部分初始化字符串,示例代码如下:
char[] charArray = { '时', '间', '就', '是', '金', '钱' }; string str = new string(charArray, 4, 2);
C#获取字符串长度
获取字符串的长度可以使用 string 类的 Length 属性,其语法格式如下:public int Length { get; }其中,属性值表示当前字符串中字符的数量。
例如,定义一个字符串变量,并为其赋值,然后使用 Length 属性获取该字符串的长度,代码如下:
string num = "12345 67890"; int size = num.Length;输出变量 size 的值,得到的结果是 11,这表示使用 Length 属性返回的字符串长度是包括字符串中的空格的。
C#获取指定位置的字符
获取指定位置的字符可以使用 string 类的 char 属性,其语法格式如下:public char this[ int index ] { get; }
- index:当前字符串中的位置;
- 属性值:位于 index 位置的字符。
例如,定义一个字符串变量,并为其赋值,然后获取该字符串索引位置为 5 的字符并输出,代码如下:
string str = "努力工作是人生最好的投资"; // 创建字符串对象str char chr = str[5]; // 将字符串str中索引位置为5的字符赋值给chr Console.WriteLine("字符串中索引位置为5的字符是:" + chr); // 输出chr运行结果如下:
字符串中索引位置为5的字符是:人
字符串中的索引位置是从 0 开始的。