Console.WriteLine()
上有一个小问题。我有我的while(true)循环,它将检查数据是否存在,并允许检查数据3次。在我的循环中,我有这样的信息:
Console.WriteLine(string.format(“Checking data {0}”,ctr));
以下是我的示例代码:
int ctr = 0;
while(true)
{
ctr += 1;
Console.WriteLine(string.format("Checking data {0}...",ctr))
if(File.Exist(fileName))
break;
if(ctr > 3)
break;
}
我们假设没有找到数据。
我目前的输出显示如下:
Checking data 1...
Checking data 2...
Checking data 3...
但是我想要实现的正确输出应该是这样的:
Checking data 1...2...3...
我只会在一行中显示。
编辑:
我忘了:除了我的问题,我想附加“Not Found”和“Found”。
以下是输出示例:
如果在First循环输出中找到的数据如下所示。
检查数据1 ...找到了!
如果在第二个循环输出上找到的数据如下所示。
检查数据1 ... 2 ...找到了!
如果在第三个循环输出上找到的数据如下所示。
检查数据1 ... 2 ... 3 ...找到了!
AND如果找不到数据
答案 0 :(得分:8)
如果您不想换行,请使用Console.Write
。您还需要将文本移出循环以避免重复。像
Console.WriteLine("Checking data");
int ctr = 0;
bool found = false;
while (ctr++ < 3 && !found) {
Console.Write(" {0}...", ctr);
if (File.Exists(fileName)) found = true;
}
Console.WriteLine(found ? "Found" : "Not found");
答案 1 :(得分:4)
旁注:
而不是使用Console.WriteLine(string.format("Checking data {0}...",ctr));
您可以使用Console.WriteLine("Checking data {0}...",ctr);
,在我看来,这更容易阅读
答案 2 :(得分:1)
您可以在while循环之前输出“Checking data”。 所以代码将是这样的:
Console.Write("Checking data ")
int ctr = 0;
while(true) {
ctr += 1;
Console.Write(string.format("{0}...",ctr))
if (File.Exist(fileName)) break;
if (ctr > 3) break;
}
答案 3 :(得分:1)
减少条件检查的更好方法(至少我觉得如此)
public static void Main(string[] args)
{
int ctr = 0;
string fileName = args[0];
string result = "Checking data ";
do
{
ctr += 1;
result += ctr.ToString() + "...";
}
while(!File.Exists(fileName) && ctr <= 3);
Console.WriteLine(result);
}
答案 4 :(得分:1)
public static void Main(string[] args)
{
int retries = 0;
bool success = false;
int maxRetries = 3;
string fileName = args[0];
Console.Write("Checking data ");
while(!success && retries++ < maxRetries)
{
Console.Write("{0}...", retries);
success = File.Exists(fileName);
}
Console.WriteLine(" {0}Found!", (success ? "" : "Not ") );
}
答案 5 :(得分:0)
使用Console.Write()
以避免添加新行。
要防止多次打印“检查数据”,请将其移出循环。
答案 6 :(得分:0)
你必须使用
Console.Write()
答案 7 :(得分:-1)
试试这段代码:
int ctr = 0;
string result = "Checking data ";
while(true) {
ctr += 1;
result += ctr.ToString() + "...";
if(File.Exist(fileName))
{
result += "Found";
break;
}
if(ctr > 3)
{
result += "Not Found";
break;
}
}
Console.WriteLine(result);