C# - Console.WriteLine() 不显示第二个参数
本文关键字:显示 第二个 参数 Console WriteLine | 更新日期: 2023-09-27 18:35:14
在处理 C# Basic 数据类型时,我使用不同的方法创建了 2 个布尔变量,并且当我尝试使用 Console.WriteLine() 方法显示它们时,显示了第一个变量,但第二个没有显示。我知道通过仅在变量之间使用 + 符号或使用 Console.WriteLine 中的占位符语法来获得所需输出的替代方法,但我只想知道原因,为什么第二个参数没有显示?如果有人知道原因,请回答。
这是我正在处理的代码。
bool b1 = true;
System.Boolean b2 = new System.Boolean();
b2 = false;
Console.WriteLine( b1.ToString() , b2.ToString() );
Console.WriteLine
的工作方式如下String.Format
:
- 第一个参数:格式字符串。
- 第 2 个到第 n 个:要使用的参数格式字符串。
这是您需要做的:
Console.WriteLine("{0} {1}", b1, b2);
检查在此
.NET框架中编写重载函数的方法和替代方案是:
Console.WriteLine(b1);Console.WriteLine(b2);
您调用的重载旨在将格式字符串作为第一个参数,并将要在格式字符串中使用的对象作为第二个参数。https://msdn.microsoft.com/en-US/library/586Y06yf(v=vs.110).aspx
你应该做的是调用Console.WriteLine两次:
Console.WriteLine(b1);
Console.WriteLine(b2);
这是来自控制台的官方文档。我想你认为参数是(字符串,字符串),但它实际上是(字符串,对象)。
// Summary:
// Writes the text representation of the specified object, followed by the current
// line terminator, to the standard output stream using the specified format
// information.
//
// Parameters:
// format:
// A composite format string (see Remarks).
//
// arg0:
// An object to write using format.
//
// Exceptions:
// System.IO.IOException:
// An I/O error occurred.
//
// System.ArgumentNullException:
// format is null.
//
// System.FormatException:
// The format specification in format is invalid.
public static void WriteLine(string format, object arg0);
这是您在程序中尝试执行的操作:
Console.WriteLine(b1.ToString(),b2.ToString());
在您的情况下,您提供了要显示的对象,但在第一个(格式)参数中,您没有指定显示的位置,它正在获取您的对象但无法在控制台中显示它,因为您没有指定该内容,在 C# 中您可以通过几种不同的方式指定它
Console.WriteLine(b1.ToString()+ " {0}", b2.ToString());
Console.WriteLine($"{b1.ToString()} {b2.ToString()}");
Console.WriteLine(b1.ToString() + " " + b2.ToString());