C# 字符串的内插

   您可能不知道 C#字符串的表达方式有一种较为简洁的表达方式,即, 内插方式,这种方式表达起来更加简单直观,使C#用起来更像高级语言。今天按照常用的方法举几个简单的实例表述一下。


1、如何创建内插字符串

   C#的内插语法包含了每个内插字符串表达式必须具备的两个元素:
  (1)字符串文本以 $ 字符开头,后接左双引号字符。注意, $ 符号和引号字符之间不能有空格。
  (2)一个或多个内插表达式 。 左大括号和右大括号({ 和 })指示内插表达式。 可将任何返回值的表达式置于大括号内。


2、HelloWorld举例

  我们要显示一段字符一般是如下描述的。

var name = "火星";
var date = DateTime.Now;
MessageBox.Show("Hello," + name + "!\ntime:"+ date);

  下面使用内插的方式描述,会不会有点高级呢?特别是变量多的时候,可以少写很多引号和加号了。

var name = "火星";
var date = DateTime.Now;
MessageBox.Show($"Hello, {name}!\ntime:{date}");

显示结果如下
在这里插入图片描述

3、格式化举例

  在变量值之后添加冒号":",可以格式化数据,当然要对应的数据类型才可以使用,比如:时间类型就有大量的格式标准,如:d、t、m、o、y、ff、dddd、MM …

格式化例一

string name = "月亮";
DateTime date = DateTime.Now;
MessageBox.Show($"Hello, {name}!\ntime: {date:d}");

在这里插入图片描述

格式化例二

var p = (target:"地球", population:800000000);
var date = DateTime.Now;
MessageBox.Show($"{date:M}\nname:{p.target}\n人口:{p.population:e}");

在这里插入图片描述


4、直接运算举例

  在{}中也可以直接运算或使用方法,如下面实例,注意int不能使用“++”或“- -”。

int number = 10;
string str = "ABCDEF"; 
MessageBox.Show($"number:{number*10+1}\r\nstr:{str.Replace("CD","_")}\n");

在这里插入图片描述

5、内插使用的优缺点

  • 优点:表达简洁,转化字符串的类型不限制,还可以避免转化前为null的异常问题。
  • 缺点:表达式不能换行处理,必须在一行中进行编辑,如果一行太长,建议将内插和“+”连接组合起来使用。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C#中处理字符串可以使用多种方法,以下是几种常见的方法: 方法一:使用字符串的内置方法 可以使用字符串的内置方法来处理字符串,例如使用Contains()方法来检查字符串是否包含某个指定的子字符串,使用Replace()方法来替换字符串中的指定字符或子字符串。可以使用Substring()方法来获取字符串的子串。还可以使用Split()方法将字符串拆分成数组,使用Join()方法将数组拼接成字符串。 方法二:使用正则表达式 正则表达式是一种强大的字符串处理工具。可以使用正则表达式来匹配、查找、替换字符串中的特定模式。C#中提供了Regex类来操作正则表达式。 方法三:使用StringBuilder类 如果需要对字符串做大量的修改操作,可以使用StringBuilder类。StringBuilder类提供了一组方法来对字符串进行添加、删除、替换等操作。与字符串不同,StringBuilder对象可以直接修改,而不会创建新的字符串对象。 方法四:使用字符串的格式化 在C#中,可以使用字符串的格式化来对字符串进行处理。可以使用String.Format()方法或者使用插值表达式($)来将变量或表达式插入字符串中。 总结:C#中有多种方法可以处理字符串,可以根据具体需求选择合适的方法。可以使用字符串的内置方法、正则表达式、StringBuilder类或者字符串的格式化来对字符串进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#字符串(string)操作](https://blog.csdn.net/caoyanchao1/article/details/121547036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C# string字符串内存管理深入分析(全程干货)](https://blog.csdn.net/qq_52855744/article/details/126738039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星papa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值