返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >在C#中使用插值字符串
  • 953
分享到

在C#中使用插值字符串

2024-04-02 19:04:59 953人浏览 八月长安
摘要

目录1.字符串插值 的结构2.创建 字符串插值3.插值字符串必须在编译时就能确定4.插件字符串中使用特殊字符前言: 字符串插值是一种将 表达式 插入到字符串字面量中的一种技术,又称为

前言:

字符串插值是一种将 表达式 插入到字符串字面量中的一种技术,又称为变量替换,变量插值,变量展开 等等,它是一种用相应值替换字符串中的一个或者更多个占位符的处理过程。

字符串插值被很多编程语言所采用,比如说:pythonPerlPHP,Ruby,Java,Scala 等等, C# 是在第六个版本中引入的,这篇文章我们将会讨论如何在 C# 中使用 字符串插值。

1.字符串插值 的结构

从语言层面上来说,字符串插值就是一个包含插值表达式的string,这个string中的某一个插值最终都会被一个实际值所替代。

插值字符串是用 $ 开头的,此外  $ 和字符串字面量之间不能有任何空格,下面的语言展示了 插值表达式 的语法结构。

{<interpolationExpression>[,<alignment>][:<fORMatString>]}

注意方括号内的元素是可选的。interpolationExpression 元素表示生成结果或输出字符串的表达式。alignment 表示一个常量表达式,其值指定在计算表达式时必须包含在表达式结果的字符串表示形式中的最小字符数。如果值为正数,则字符串表示为右对齐;如果值为负数,则字符串表示为左对齐。formatString 顾名思义,表示一个格式字符串。

2.创建 字符串插值

当使用字符串插值时,必须首先在字符串之前插入一个 $ 字符,而不是单独为每一个元素单独格式化。

一个插值表达式必须包含在一个左大括号和一个右大括号内  ({})。下面的代码片段展示了如何使用字符串插值来将字符串替换为文本值。

var name = "Joydip";
Console.WriteLine($"Hello, {name}");

接下来考虑下面的代码段。 

string productName = "Lenovo Legion Laptop";
int counter = 5;
string output = string.Format("Today, {0} has been sold {1} times.",
                                               productName, counter);

当把代码运行起来后,output 内容输出如下:

Today, Lenovo Legion Laptop has been sold 5 times.

现在用 插值法 来改造一下,参考结果如下:

string productName = "Lenovo Legion Laptop";
int counter = 5;           
string output = $"Today, {productName}, has been sold {counter} times.";

3.插值字符串必须在编译时就能确定

插值字符串看起来像是一个创建 字符串模板 的简单方式,但你必须要意识到,插值字符串在 C# 中仅仅是一个编译时语法糖而已,换句话说,你的插值字符串必须在编译时就是一个普通的字符串字面量。

4.插件字符串中使用特殊字符

接下来我们来学习下,如何在 插值字符串 中使用特殊字符,考虑下面的例子。

string productName = "Lenovo Legion Laptop";
double price = 1600.00;
Console.WriteLine($"The customer asked, \"What is the price of {productName}?\"");
Console.WriteLine($"The salesman replied saying that the price of {productName} is ${price}.");

正如你看到的,如果包含特殊字符,必须用 \ 进行转义,字符串插值允许我们插入一个 value 到字符串中,并还能控制最后生成的输出结果,从语言层面来说,字符串插值最后会变成String.Format,相反,如果字符串插值是 IFormattable 或者 FormattableString 类型,那么编译器会调用 FormattableStringFactory.Create 方法。

理论上来说,字符串插值稍微降低了程序的性能,但 .net 最近的几个版本已经做了很大的优化,同时 字符串插值 所带来的灵活性远超这个所谓的性能。

到此这篇关于在 C# 中使用 插值字符串的文章就介绍到这了,更多相关 C# 中使用 插值字符串内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 在C#中使用插值字符串

本文链接: https://lsjlt.com/news/161844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在C#中使用插值字符串
    目录1.字符串插值 的结构2.创建 字符串插值3.插值字符串必须在编译时就能确定4.插件字符串中使用特殊字符前言: 字符串插值是一种将 表达式 插入到字符串字面量中的一种技术,又称为...
    99+
    2024-04-02
  • Python怎么在字符串中插入变量的值
    在Python中,可以使用字符串的format()方法或者f-string来插入变量的值到字符串中。 使用format()方法: n...
    99+
    2024-03-02
    Python
  • JavaScript如何实现字符串插值
    这篇文章主要为大家展示了“JavaScript如何实现字符串插值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何实现字符串插值”这篇文章吧...
    99+
    2024-04-02
  • c++中如何给字符串赋值
    c++ 中给字符串赋值有以下方法:1. 直接初始化;2. 赋值运算符;3. 复制构造函数;4. 字面量;5. 从字符数组赋值;6. 从 stringstream 赋值。 C++ 中给字...
    99+
    2024-05-06
    c++
  • c#怎么给字符串赋值
    字符串赋值方式:直接赋值(=)string.copy 方法string 构造函数(char[], stringbuilder, string, int, int) 如何给 C# 字符串...
    99+
    2024-05-14
    c#
  • python如何在字符串中插入变量
    共三个用法,如下所示 使用字符串的format()函数,通过" 字{0}符{1}串".format(变量1,变量2,...)的方式,所有变量都作为format()函数的参数,在字符串中用“{}”来接收...
    99+
    2023-09-29
    python 开发语言
  • c字符串,string对象,字符串字面值的区别详解
    一、字符串字面值字符串字面值是一串常量字符,字符串字面值常量用双引号括起来的零个或多个字符表示,为兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。字符串没有...
    99+
    2022-11-15
    string 字符串
  • 怎么在python中为字符串取值
    本篇文章给大家分享的是有关怎么在python中为字符串取值,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传...
    99+
    2023-06-14
  • C语言解决字符串中插入和删除某段字符串问题
    目录字符串中插入某段字符核心思想字符串删除某段字符串核心思想总结字符串中插入某段字符 核心思想 已知插入字符串的长度len,将插入的位置的后面的字母统统往后移动len个长度。 最后将...
    99+
    2023-02-06
    C语言字符串 插入某段字符串 删除某段字符串
  • 怎样在python中使用字符串
    本篇文章给大家分享的是有关怎样在python中使用字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、字符串被单引号'' 或者双引号""...
    99+
    2023-06-15
  • 如何在PHP中使用字符串
    引言 字符串是由一个或多个字符组成的序列,可以由字母、数字或符号组成。所有的书面通信都是由字符串组成的。因此,它们是任何编程语言的基础。 在本文中,您将学习如何创建和查看字符串的输出,如何使用转义序列...
    99+
    2023-09-18
    php 开发语言
  • C#中字符串怎么用
    小编给大家分享一下C#中字符串怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!C#字符串分割string url = "...
    99+
    2023-06-18
  • c++字符串变量怎么赋值
    在C++中,可以使用等号(=)将一个字符串赋值给一个字符串变量。具体语法如下: std::string str; // 声明一个字符...
    99+
    2023-10-27
    c++
  • C#中怎么实现一个数值字符串
    本篇文章给大家分享的是有关C#中怎么实现一个数值字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#数值字符串首先,我们得搞明白,什么是数值字符串。我们知道,在 C# 中,...
    99+
    2023-06-17
  • c#字符串插入html标签的原因
    这篇文章主要介绍“c#字符串插入html标签的原因”,在日常操作中,相信很多人在c#字符串插入html标签的原因问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”c#字符串插入html标签的原因”的疑惑有所帮助!...
    99+
    2023-06-18
  • c语言怎么给字符串赋值
    在C语言中,给字符串赋值可以使用以下两种方法:1. 使用字符数组赋值:可以直接使用赋值运算符(=)将一个字符数组赋值给另一个字符数组...
    99+
    2023-08-18
    c语言
  • C++中的字符串(1)
    目录1、字符串1.1 字符串定义1.2 字符串的读入1.3 排坑1、字符串 1.1 字符串定义 字符串就是连续的一连串字符,在C++当中, 处理字符串的方式有两种类型。一种来自于C语...
    99+
    2024-04-02
  • C语言如何在字符数组中插入一个字符
    目录在字符数组中插入一个字符设计思路问题思索代码附录字符串中插入字符问题在字符数组中插入一个字符 以前都是照猫画虎,一直都没有自己亲自动手尝试过。这次亲自上阵,把自己的思路尽量理清并...
    99+
    2024-04-02
  • C#之字符串截取--Regex.Match使用
    目录C#字符串截取--Regex.MatchC#的字符串截取,长度未定时总结C#字符串截取--Regex.Match C#字符串截取–Regex.Match Regex....
    99+
    2023-05-18
    C#字符串截取 C# Regex.Match C#截取字符串
  • 在 PHP 中将字符串转换为布尔值
    本文将介绍几种在 PHP 中将字符串转换为布尔值的方法。 在 PHP 中使用 settype() 函数将字符串转换为布尔值 我们可以使用 settype() 函数将字符串转换为 PHP 中的布...
    99+
    2024-02-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作