📜  C#6.0 String Interpolation字符串插值(1)

📅  最后修改于: 2023-12-03 14:40:28.348000             🧑  作者: Mango

C#6.0 String Interpolation字符串插值

在C#6.0中,引入了一个新特性:“字符串插值”,原名为“插入表达式”,是用来简化字符串组成的语法糖。

什么是字符串插值

字符串插值就是在文本字符串中插入表达式的技术,它可以让我们更方便的构建字符串,减少了字符串通过"+"拼接的复杂度。

为什么使用字符串插值
  1. 简化字符串的构建;
  2. 可读性更高;
  3. 提高代码的可维护性和可扩展性。
如何使用字符串插值
1. 基本用法

在字符串前面添加"$"符号,然后用大括号括起表达式部分即可使用字符串插值:

string name = "World";
var message = $"Hello, {name}!";
Console.WriteLine(message); // 输出:Hello, World!

在上面的代码中,我们使用字符串插值来避免了字符串拼接的复杂度,更直观的描述了我们的意图。

2. 格式化输出

我们也可以使用格式化字符串在字符串插值中实现更复杂的输出:

decimal price = 123.45m;
var message = $"The price is {price:C2}.";
Console.WriteLine(message); // 输出:The price is $123.45.

在上面的代码中,我们使用"{price:C2}"格式化字符串,表示要输出货币格式。

3. 引用对象属性和方法

字符串插值也可以引用对象的属性和方法,如下:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string GetGreeting() => $"Hello, I'm {Name}.";
}

var person = new Person { Name = "Tom", Age = 28 };
var message = $"{person.GetGreeting()} I'm {person.Age} years old.";
Console.WriteLine(message); // 输出:Hello, I'm Tom. I'm 28 years old.

在上面的代码中,我们使用了"{person.GetGreeting()}"引用Person对象中的GetGreeting()方法,"{person.Age}"引用Person对象中的Age属性。

总结

C#6.0中的字符串插值让字符串构建更简洁、更可读、更易维护,是我们在C#开发中必不可少的技术。