C#中$的用法
"$"是在C#6.0出现的一个新特性,其作用相当于对String.format()的简化。
-
tring.Format 方法的几种定义:
String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。 -
String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。
-
String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。
-
String.Format (String, Object, Object) 将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。
String.Format (String, Object, Object, Object) 将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。
其中的
string teststring = string.Format("{0:N1}", 56789);
"{0:N1}"的0是占位符,指逗号后面的数占据这个位置;
Console.WriteLine($"{1234:D5}");
使用$符号直接提取后面的数,并省略stirng.Format;
总结:$"“相当于 string.Format(”");
class Program
{
static void Main(string[] args)
{
string name = "波波";
int age = 18;
string str = string.Format("my name is{0}, I'm {1} years old",name,age);
string str2 = $"my name is{name}, I'm {age} years old";
string str3 = string.Format("Today is {0:D}", DateTime.Now);
string str4 = $"Today is {DateTime.Now:D}";
Console.WriteLine($"{str}");
Console.WriteLine($"{str2}");
Console.WriteLine($"{str3}");
Console.WriteLine($"{str4}");
Console.ReadKey();
}
}
int num1 = 2;
Console.WriteLine("1");
Console.WriteLine($"num1=" + num1);
Console.WriteLine("2");
Console.WriteLine($"{"num1"}=" + num1);
Console.WriteLine("3");
Console.WriteLine($"{"num1"}=", num1);
Console.WriteLine("4");
Console.WriteLine($"{0}=" + num1);
Console.WriteLine("5");
Console.WriteLine($"{0}=", num1);
Console.WriteLine("6");
Console.WriteLine($"{nameof(num1)}=" + num1);
Console.WriteLine("7");
Console.WriteLine($"{nameof(num1)}=", num1);
Console.WriteLine("8");
Console.WriteLine("num1={0}",num1);
输出结果为
1
num1=2
2
num1=2
3
num1=
4
0=2
5
0=
6
num1=2
7
num1=
8
num1=2
$string 让 {} 里变为可编译,能输入参数, 要输出{} 就需要 {{ }}
string name = “gyg”;
string sql = $“select * from member where name = ‘{name}’”;
结论:不用 , 使 用 0 占 位 符 要 用 时 用 ′ , ′ 分 割 , 后 面 写 参 数 , 用 ,使用{0}占位符要用时用','分割,后面写参数, 用 ,使用0占位符要用时用′,′分割,后面写参数,用"{nameof(num1)}“就等于"num1”,