CS1L10——字符串拼接

字符串拼接

  1. 第一种方法“+”

    字符串拼接只有"+"

    之前的算数运算符,只是用于数值类型变量进行数学运算,而string​不存在算数计算法,但是可以+​进行字符串拼接

    1
    2
    3
    4
    5
    6
    string str = "";
    str = "123";
    str = str + "456";
    Console.WriteLine(str);
    str = str + 1;
    Console.WriteLine(str);

    输出:

    1
    2
    123456
    1234561

    复合运算符 +=​ 也可以用于字符串拼接
    +=​ 字符串拼接会有一定的规则和特性:
    会先试图计算,计算遇到字符串之后全部变成字符串拼接
    一般是先计算括号内的数,再从左向右算,碰到字符串时后面的计算都会变成字符串拼接

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    //复合运算符 +=
    str = "123";
    str += "1" + 4 + true; //右边会先将非字符串类型转化为字符串再拼接
    Console.WriteLine(str);

    str += 1 + 2 + 3 + 4; //先算右边的结果,再与自己拼接
    Console.WriteLine(str);

    str += "" + 1 + 2 + 3 + 4; //右边开头出现字符串,非字符串类型转化为字符串再拼接
    Console.WriteLine(str);

    str = "";
    str += 1 + 2 + "" + 3 + 4;
    Console.WriteLine(str); //从左向右算,碰到字符串时后面的计算都会变成字符串拼接
    //可以通过括号先保证计算的优先级,在进行字符串拼接
    str = "";
    str += 1 + 2 + "" + (3 + 4);
    Console.WriteLine(str); //先计算括号内的数,再从左向右算,碰到字符串时后面的计算都会变成字符串拼接

    str = "123";
    str = str + 1 + 2 + 3;
    Console.WriteLine(str); //变量为字符串类型的与字符串同理

    输出:

    1
    2
    3
    4
    5
    6
    12314True
    12314True10
    12314True101234
    334
    37
    123123
  2. 第二种方法“format”

    固定语法:string.Format("带拼接的内容",内容1,内容2,......)
    想要被拼接的内容用占位符替代,{数字},数字0~n依次往后

    1
    2
    string str2 = string.Format("我是{0},今年{1}岁,想要{2}", "MrKRIFE", 20, "学习");
    Console.WriteLine(str2);

    输出:

    1
    我是MrKRIFE,今年20岁,想要学习

    注意后面的要填充的部分可以多于占位符,多余部分会丢失,但不能少于占位符,否则报错
    注意索引必须从0开始,0~n

  3. 控制台打印输出

    类似于format

    1
    Console.WriteLine("asdf{0}qwer{1}zxcv{2}", 1, true, false);

    输出:

    1
    asdf1qwerTruezxcvFalse

    注意后面的要填充的部分可以多于占位符,多余部分会丢失,但不能少于占位符,否则报错

本课源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
namespace lesson10字符串拼接
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("字符串拼接");
#region 第一种方法"+"
//之前的算数运算符,只是用于数值类型变量进行数学运算
//而string不存在算数计算法,但是可以+进行字符串拼接
string str = "";
str = "123";
str = str + "456";
Console.WriteLine(str);
str = str + 1;
Console.WriteLine(str);
//复合运算符 +=
str = "123";
str += "1" + 4 + true; //右边会先将非字符串类型转化为字符串再拼接
Console.WriteLine(str);

str += 1 + 2 + 3 + 4; //先算右边的结果,再与自己拼接
Console.WriteLine(str);

str += "" + 1 + 2 + 3 + 4;//右边开头出现字符串,非字符串类型转化为字符串再拼接
Console.WriteLine(str);

str = "";
str += 1 + 2 + "" + 3 + 4;
Console.WriteLine(str); //从左向右算,碰到字符串时后面的计算都会变成字符串拼接
//可以通过括号先保证计算的优先级,在进行字符串拼接
str = "";
str += 1 + 2 + "" + (3 + 4);
Console.WriteLine(str); //先计算括号内的数,再从左向右算,碰到字符串时后面的计算都会变成字符串拼接

str = "123";
str = str + 1 + 2 + 3;
Console.WriteLine(str); //变量为字符串类型的与字符串同理

//字符串拼接只有"+"
#endregion

#region 第二种方法format
//固定语法:string.Format("带拼接的内容",内容1,内容2,......)
//想要被拼接的内容用占位符替代,{数字},数字0~n依次往后
string str2 = string.Format("我是{0},今年{1}岁,想要{2}", "SevenL", 20, "学习");
Console.WriteLine(str2);
//注意后面的要填充的部分可以多于占位符,多余部分会丢失,但不能少于占位符,否则报错
//注意索引必须从0开始,0~n
#endregion

#region 控制台打印拼接
//类似与format
Console.WriteLine("asdf{0}qwer{1}zxcv{2}",1,true,false);
//注意后面的要填充的部分可以多于占位符,多余部分会丢失,但不能少于占位符,否则报错
#endregion
}
}
}