我目前正在用 C# 编写一个程序,并且正在练习使用整数。我试图做到这一点,以便书面行的末尾带有 int 。但它没有给我想要的结果,当我在谷歌上搜索时,它没有给我我正在寻找的解决方案。
代码:
Random rnd = new Random();
int Pi = rnd.Next(1,5);
Console.WriteLine("Checking 'Pi' value...");
Console.Beep(37,1000);
Console.WriteLine("Pi value found. Pi = ",Pi);
Console.ReadKey();
结果:
Checking 'Pi' value...
Pi value found. Pi =
如果您知道我可以尝试什么,请告诉我。
有很多方法可以做到这一点:
// placeholder
Console.WriteLine("Pi value found. Pi = {0}",Pi);
// concatenation
Console.WriteLine("Pi value found. Pi = " + Pi.ToString());
// interpolation
Console.WriteLine($"Pi value found. Pi = {Pi}");
// StringBuilder
var sb = new StringBuilder("Pi value found. Pi = ").Append(Pi);
Console.WriteLine(sb);
// multiple writes
Console.Write("Pi value found. Pi = ");
Console.WriteLine(Pi);
Console.WriteLine("Pi Value found. Pi =" + Pi);
有多种方法可以做到这一点。
Console.WriteLine("Pi Value found. Pi = " + Pi);
,这是Console.WriteLine("Pi Value found. Pi = " + Pi.ToString());
的缩写版本。这是有效的,因为像 + 这样的运算符会根据您使用它们的用途执行不同的操作。 C# 会自动将
ToString()
添加到整数中,将其转换为字符串。这意味着您实际传递给 Console.WriteLine
的内容现在看起来像这样(假设您的随机数生成在本例中生成了数字 4:"Pi Value found. Pi = " + "4"
。请注意 4 周围的引号 - 您现在只有两个字符串。对于两个字符串,“+”运算符将它们连接起来,在本例中创建单个字符串 "Pi Value found. Pi = 4"
。
Console.WriteLine($"Pi Value found. Pi = {Pi}")
或 Console.WriteLine("Pi Value found. Pi = {0}", Pi)
(尽管技术上并不完全相同,但出于您的目的,它们是本质上相同的事物的不同编写方式)这是字符串插值。本质上,您正在做的就是定义一个模板来格式化字符串,方法是直接由编译器完成,这是执行此操作的 $-方法(请参阅此处了解更多详细信息),或者通过提供一个模板Console.WriteLine 为您传递为 String.Format。
您选择其中哪一个并不重要,它们都是实现同一目标的有效方法。
您可以通过删除代码中的“,”来简单地修改代码:
Console.WriteLine("Pi value found. Pi = " + Pi);