C#内插字符串的简单使用

 更新时间:2018年11月26日 08:35:30   作者:在代码的世界里游走  
这篇文章主要为大家详细介绍了C#内插字符串的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

C# 内插字符串的使用,供大家参考,具体内容如下

(1) 字符串文本以 $ 字符开头,后接左双引号字符。 $ 符号和引号字符之间不能有空格。
(2) 内插字符串表达式的结果可以是任何数据类型。
(3) 可通过在内插表达式后接冒号(“:”)和格式字符串来指定格式字符串。

static void Main(string[] args)
 {
  var name = "小胡子";
  var age = 26;
  var email = "xiaohuzi@xiaohuzi.com";
  var salary = 3700.21;
  var today = DateTime.Now;

  Console.WriteLine($"我叫{name}, 今年{age}岁,我的邮箱是{email}! 现在时间是{today:d}");
  
  //左对齐, 右对齐, 货币格式, 三元表达式
  Console.WriteLine($"姓名 [{name,-10:d}] \r\n工资 [{salary,12:C2}] \r\n类别 [{(salary < 5000? "不交税":"交税")}]");

  Console.ReadKey();
 }

运行结果:

小编再为大家汇总一下C#操作字符串方法

staticvoid Main(string[] args)
{
   string s ="";
   //(1)字符访问(下标访问s[i])
   s ="ABCD";
   Console.WriteLine(s[0]); // 输出"A";
   Console.WriteLine(s.Length); // 输出4
   Console.WriteLine();

   //(2)打散为字符数组(ToCharArray)
   s ="ABCD";
   char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A','B','C','D'}
   Console.WriteLine(arr[0]); // 输出数组的第一个元素,输出"A"
   Console.WriteLine();

   //(3)截取子串(Substring)
   s ="ABCD";
Console.WriteLine(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
   Console.WriteLine(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC"
   Console.WriteLine();

   //(4)匹配索引(IndexOf())
   s ="ABCABCD";
   Console.WriteLine(s.IndexOf('A')); // 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
   Console.WriteLine(s.IndexOf("BCD")); // 从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"4"
   Console.WriteLine(s.LastIndexOf('C')); // 从字符串尾部开始搜索第一个匹配字符C的位置,输出"5"
   Console.WriteLine(s.LastIndexOf("AB")); // 从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出"3"
   Console.WriteLine(s.IndexOf('E')); // 从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出"-1";
   Console.WriteLine(s.Contains("ABCD")); // 判断字符串中是否存在另一个字符串"ABCD",输出true
   Console.WriteLine();

   //(5)大小写转换(ToUpper和ToLower)
   s ="aBcD";
   Console.WriteLine(s.ToLower()); // 转化为小写,输出"abcd"
   Console.WriteLine(s.ToUpper()); // 转化为大写,输出"ABCD"
   Console.WriteLine();

   //(6)填充对齐(PadLeft和PadRight)
   s ="ABCD";
   Console.WriteLine(s.PadLeft(6, '_')); // 使用'_'填充字符串左部,使它扩充到6位总长度,输出"__ABCD"
   Console.WriteLine(s.PadRight(6, '_')); // 使用'_'填充字符串右部,使它扩充到6位总长度,输出"ABCD__"
   Console.WriteLine();

   //(7)截头去尾(Trim)
   s ="__AB__CD__";
   Console.WriteLine(s.Trim('_')); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"
   Console.WriteLine(s.TrimStart('_')); // 移除字符串中头部的'_'字符,输出"AB__CD__"
   Console.WriteLine(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,输出"__AB__CD"
   Console.WriteLine();

   //(8)插入和删除(Insert和Remove)
   s ="ADEF";
   Console.WriteLine(s.Insert(1, "BC")); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
   Console.WriteLine(s);
   Console.WriteLine(s.Remove(1)); // 从字符串的第2位开始到最后的字符都删除,输出"A"
   Console.WriteLine(s);
   Console.WriteLine(s.Remove(0, 2)); // 从字符串的第1位开始删除2个字符,输出"EF"
   Console.WriteLine();

   //(9)替换字符(串)(Replace)
   s ="A_B_C_D";
   Console.WriteLine(s.Replace('_', '-')); // 把字符串中的'_'字符替换为'-',输出"A-B-C-D"
   Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替换为空字符串,输出"A B C D"
   Console.WriteLine();

   //(10)分割为字符串数组(Split)——互逆操作:联合一个字符串静态方法Join(seperator,arr[])
   s ="AA,BB,CC,DD";
   string[] arr1 = s.Split(','); // 以','字符对字符串进行分割,返回字符串数组
   Console.WriteLine(arr1[0]); // 输出"AA"
   Console.WriteLine(arr1[1]); // 输出"BB"
   Console.WriteLine(arr1[2]); // 输出"CC"
   Console.WriteLine(arr1[3]); // 输出"DD"
   Console.WriteLine();

   s ="AA--BB--CC--DD";
   string[] arr2 = s.Replace("--", "-").Split('-'); // 以字符串进行分割的技巧:先把字符串"--"替换为单个字符"-",然后以'-'字符对字符串进行分割,返回字符串数组
   Console.WriteLine(arr2[0]); // 输出"AA"
   Console.WriteLine(arr2[1]); // 输出"BB"
   Console.WriteLine(arr2[2]); // 输出"CC"
   Console.WriteLine(arr2[3]); // 输出"DD"
   Console.WriteLine();

   //(11)格式化(静态方法Format)
   Console.WriteLine(string.Format("{0} + {1} = {2}", 1, 2, 1+2));
   Console.WriteLine(string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00/3.00));
   Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));


   //(12)连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
   s ="A,B,C,D";
   string[] arr3 = s.Split(','); // arr = {"A","B","C","D"}

   Console.WriteLine(string.Concat(arr3)); // 将一个字符串数组连接成一个字符串,输出"ABCD"

   Console.WriteLine(string.Join(",", arr3)); // 以","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D"

   StringBuilder sb =new StringBuilder(); // 声明一个字符串构造器实例
   sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能
   sb.Append('B');
   Console.WriteLine(sb.ToString());// 输出"AB"

   Console.ReadKey();
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • .Net中的json操作类用法分析

    .Net中的json操作类用法分析

    这篇文章主要介绍了.Net中的json操作类用法分析,是非常实用的一个技巧,需要的朋友可以参考下
    2014-08-08
  • C#判断系统是32位还是64位的方法

    C#判断系统是32位还是64位的方法

    这篇文章主要介绍了C#判断系统是32位还是64位的方法,实例分析了两种常用的技巧供大家选择使用,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Entity Framework配置关系

    Entity Framework配置关系

    这篇文章介绍了Entity Framework配置关系的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C# 并行和多线程编程——认识和使用Task

    C# 并行和多线程编程——认识和使用Task

    这篇文章主要介绍了C# 并行和多线程编程——认识和使用Task的的相关资料,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C#中sleep和wait的区别分析

    C#中sleep和wait的区别分析

    这篇文章主要介绍了C#中sleep和wait的区别分析,有助于深入理解C#中线程的原理与使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • C#将字节数组转换成数字的方法

    C#将字节数组转换成数字的方法

    这篇文章主要介绍了C#将字节数组转换成数字的方法,涉及C#类型转换的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • vs代码段快捷键设置(图文)

    vs代码段快捷键设置(图文)

    学习代码快捷键是程序员必学知识点,会使用代码快捷在程序开发过程中会提高开发效率,下面小编给大家整理些有关vs代码段快捷键设置的技巧,需要的朋友可以参考下
    2015-08-08
  • Unity实现截图功能

    Unity实现截图功能

    这篇文章主要为大家详细介绍了Unity实现截图功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#使用LINQ中Enumerable类方法的延迟与立即执行的控制

    C#使用LINQ中Enumerable类方法的延迟与立即执行的控制

    这篇文章主要介绍了C#的LINQ查询中Enumerable类方法的延迟与立即执行,LINQ语言集成查询可以让C#和VB以查询数据库相同的方式操作内存数据,需要的朋友可以参考下
    2016-03-03
  • C#  ADO.NET 离线查询的实现示例

    C# ADO.NET 离线查询的实现示例

    这篇文章主要介绍了C# ADO.NET 离线查询的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论