C#中$符号的作用 您所在的位置:网站首页 美元符号在数字前面是什么 C#中$符号的作用

C#中$符号的作用

2024-06-04 02:03| 来源: 网络整理| 查看: 265

一:$符号的用法

$符号的作用相当于对String.format()的简化

例如我们需要输出一段包含name与age的字符串:

using System; class Program { static void Main(string[] args) { string name = "liu"; int age = 10; //复杂麻烦的写法 string str1 = "my name is " + name + ",my age is " + age + "."; //使用Format的写法 string str2 = string.Format("my name is {0},my age is {1}.", name, age); //使用$语法糖的写法 string str3 = $"my name is {name},my age is {age}."; //控制台的三个输出都相同 Console.WriteLine(str1); Console.WriteLine(str2); Console.WriteLine(str3); } }

——由代码显然可见第一种写法复杂麻烦,使用起来是不方便的 ——使用Format格式化这种写法,需要自己在字符串中写占位符(标记),在后面跟上参数。但是如果要格式化的参数比较多,写起来就比较麻烦 ——使用$语法糖的写法可读性高,代码简洁。——注意$与第一个"之前不能有空格

因为C#是美国人发明的,所以用$符号,那么如果是中国人发明的C#或许这个语法糖就使用¥符号了吧.....

二:Format格式化字符串 //将数字转换为四舍五入后的数字,位数不足则补0 Console.WriteLine(string.Format("{0:F}", 10.555));//10.56 Console.WriteLine(string.Format("{0:F1}", 10.555));//10.6 Console.WriteLine(string.Format("{0:F1}", 10));//10.0 //转换为十六进制的值 Console.WriteLine(string.Format("{0:X}", 10));//A Console.WriteLine(string.Format("{0:x}", 10));//a //转换为当前国家的货币符号,默认保留2位小数,会四舍五入 Console.WriteLine(string.Format("{0:C}", 10.135));//¥10.14 Console.WriteLine(string.Format("{0:C1}", 10.135));//¥10.1 //转换为百分分显示,默认保留2位小数,会四舍五入 Console.WriteLine(string.Format("{0:P}", 0.55));//55.00% Console.WriteLine(string.Format("{0:P0}", 0.55));//55% //转换成以分号分隔的数字,3位一分割,默认保留2位小数 Console.WriteLine(string.Format("{0:N}", 12345));//12,345.00 Console.WriteLine(string.Format("{0:N0}", 12345));//12,345 //格式化十进制的数,只支持十进制的数,不足则以零填充,超过精度则原数输出 Console.WriteLine(string.Format("{0:D}", 155));//155 Console.WriteLine(string.Format("{0:D5}", 155));//00155 //零占位符,位数不够则补0,会四舍五入 Console.WriteLine(string.Format("{0:00.00}", 23.195));//23.20 Console.WriteLine(string.Format("{0:000.00}", 23.195));//023.20 //#占位符,前后的0被舍去,会四舍五入 Console.WriteLine(string.Format("{0:##.##", 23.195));//23.2 Console.WriteLine(string.Format("{0:###.##}", 23.195));//23.2 //前后补空格 Console.WriteLine(string.Format("{0,-5}", 99.9));//99.99 Console.WriteLine(string.Format("{0,5}", 99.9));// 99.99 //日期和时间(C#控制台和Unity中输出的略有区别,下面是Unity中的输出结果) DateTime dt = new DateTime(2023, 8, 2, 13, 40, 53, 55); Console.WriteLine(string.Format("{0:D}", dt));//2023年8月2日 Console.WriteLine(string.Format("{0:d}", dt));//2023/8/2 Console.WriteLine(string.Format("{0:F}", dt));//2023年8月2日 13:40:53 Console.WriteLine(string.Format("{0:f}", dt));//2023年8月2日 13:40 Console.WriteLine(string.Format("{0:G}", dt));//2023/8/2 13:40:53 Console.WriteLine(string.Format("{0:g}", dt));//2023/8/2 13:40 Console.WriteLine(string.Format("{0:T}", dt));//13:40:53 Console.WriteLine(string.Format("{0:t}", dt));//13:40 Console.WriteLine(string.Format("{0:m}", dt));//8月2日 Console.WriteLine(string.Format("{0:yyyyMMdd}", dt));//20230802 Console.WriteLine(string.Format("{0:yyyy-MM-dd}", dt));//2023-08-02 Console.WriteLine(string.Format("{0:yyyy/MM/dd HH:mm:ss.fff}", dt));//2023/08/02 13:40:53.055



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有