运维开发网

用于试用NET6新功能的常量插值字符串

运维开发网 https://www.qedev.com 2022-07-13 19:59 出处:网络
这篇文章主要介绍了.NET?6新特性试用之常量内插字符串,编写代码时,我们常常需要组合字符串,下面文章对该内容进行详细介绍,需要的小伙伴可以参考一下

这篇文章主要介绍了.NET?6新特性试用之常量内插字符串,编写代码时,我们常常需要组合字符串,下面文章对该内容进行详细介绍,需要的小伙伴可以参考一下


前言:

在编写代码时,我们经常需要组合字符串。

代码如下:

string scheme = "https";string host = "xxx.com";int port = 8080;Console.WriteLine(string.Format("{0}://{1}:{2}", scheme, host, port));

但是,这种替换方法容易产生错误,如参数顺序错误、索引号无效等。

因此,推荐的编写方法是使用字符串插值,代码如下:

Console.WriteLine($"{scheme}://{host}:{port}");

这样更容易阅读,变量值直接代入字符串。


常量内插字符串

当所有字符串都是常量时,在。NET 6,不能用字符串插值,只用+拼接字符串:


还有在。NET 6中,我们已经可以使用插值字符串作为常量,代码如下:

const string FirstName = "My";const string LastName = "IO";const string FullName = $"{FirstName} {LastName}";

请注意,插值字符串中的常数不能是数字:


这是因为数字常量到字符串的转换是区分区域性的,并且区域性只能在运行时获得:

Console.WriteLine($"{1234.56}"); // output: 1234.56Thread.CurrentThread.CurrentCulture= new CultureInfo("es-ES");Console.WriteLine($"{1234.56}"); // output: 1234,56


结论:

当使用属性的参数时,通过常数插入字符串非常方便,如下面的代码所示:

public class xxClass{ [Obsolete($"Use {nameof(NewMethod)} instead")] public void OldMethod() { } public void NewMethod() { }}

这样,我们就不必在Message中硬编码方法名。

这就是这篇关于常数插值字符串的文章。NET 6新功能试用版。的常量插值字符串的更多信息。NET 6

0

精彩评论

暂无评论...
验证码 换一张
取 消