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();
  }

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

相关文章

  • C# List介绍及具体用法

    C# List介绍及具体用法

    这篇文章主要介绍了C# List介绍及具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解Unity入门之GameObject

    详解Unity入门之GameObject

    Unity是一个Component-Based的引擎,所有物体都是GameObject。本文将详细介绍GameObject和MonoBehaviour,感兴趣的同学,可以参考下。
    2021-05-05
  • unity3d调用手机或电脑摄像头

    unity3d调用手机或电脑摄像头

    这个是在网上看到的,经测试可以在电脑上运行,确实调用了本地摄像头。有需要的小伙伴可以参考下。
    2015-03-03
  • C#零基础学习理解委托

    C#零基础学习理解委托

    C#零基础学习理解委托,需要的朋友可以参考一下
    2013-02-02
  • C#各类集合汇总

    C#各类集合汇总

    这篇文章主要介绍了C#各类集合的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#中System.Text.Json匿名对象反序列化

    C#中System.Text.Json匿名对象反序列化

    这篇文章主要介绍了System.Text.Json匿名对象反序列化,下文代码基于. NET 6,为了代码整洁,实际配置了PropertyNameCaseInsensitive = true,本文结合实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • C#实现微信公众号会员卡管理的示例代码

    C#实现微信公众号会员卡管理的示例代码

    这篇文章主要介绍了C#实现微信公众号会员卡管理的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • C#操作注册表的方法

    C#操作注册表的方法

    这篇文章主要介绍了C#操作注册表的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01
  • 解析C#面向对象编程中方法(method)的使用

    解析C#面向对象编程中方法(method)的使用

    这篇文章主要介绍了解析C#面向对象编程中方法(method)的使用,方法是面向对象编程语言中的基本特性,需要的朋友可以参考下
    2016-01-01
  • C#创建WCF服务控制台应用程序详解

    C#创建WCF服务控制台应用程序详解

    这篇文章主要为大家详细介绍了C#创建WCF服务控制台应用程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07

最新评论