C#while循环运行不一致

C#while循环运行不一致,c#,for-loop,while-loop,C#,For Loop,While Loop,我有以下代码: string winpath = Environment.GetEnvironmentVariable("C:"); int i = 0; Console.WriteLine("How much would you like to destroy your pc?"); i = Convert.ToInt32(Console.ReadLine()); int j = 0; while (j < i) { Process.Start(winpath + @"\W

我有以下代码:

string winpath = Environment.GetEnvironmentVariable("C:");
int i = 0;

Console.WriteLine("How much would you like to destroy your pc?");

i = Convert.ToInt32(Console.ReadLine());
int j = 0;

while (j < i)
{
    Process.Start(winpath + @"\Windows\System32\calc.exe");
    j++;
}
string winpath=Environment.GetEnvironmentVariable(“C:”);
int i=0;
WriteLine(“您希望销毁您的电脑多少?”);
i=Convert.ToInt32(Console.ReadLine());
int j=0;
而(j

我想让用户选择打开多少个计算器,我输入1,得到一个计算器,输入2,我仍然得到一个计算器,输入3,得到一个计算器,输入5,得到2个计算器。我还尝试了for循环,但结果相同。

您很可能需要在启动进程之间添加一个短暂的延迟。while循环运行得太快,以至于Windows无法及时响应进程启动请求

尝试在每个
进程后添加一个。Start()

使用系统线程;
对于(int i=0;i
您很可能需要在启动进程之间添加一个短暂的延迟。while循环运行得太快,以至于Windows无法及时响应进程启动请求

尝试在每个
进程后添加一个。Start()

使用系统线程;
对于(int i=0;i
问题不在于循环本身,而是需要计算循环的最大值。 查看您的代码,并根据您对基于输入编号需要多少calc实例的描述,您需要使用整数除法:

i = Convert.ToInt32(Console.ReadLine());
int j = 0;
while (j < i / 2)
{
    ...
}
i=Convert.ToInt32(Console.ReadLine());
int j=0;
而(j
问题不在于循环本身,而是需要计算循环的最大值。 查看您的代码,并根据您对基于输入编号需要多少calc实例的描述,您需要使用整数除法:

i = Convert.ToInt32(Console.ReadLine());
int j = 0;
while (j < i / 2)
{
    ...
}
i=Convert.ToInt32(Console.ReadLine());
int j=0;
而(j
始终使用
路径。组合
以压缩路径字符串。此外,System32将位于搜索路径上,因此您只需
处理.Start(“calc.exe”)
。那么您的实际问题是什么?您的代码不符合您的要求,但您没有说什么是“不一致的”。请始终使用
Path。合并
以浓缩您的路径字符串。此外,System32将位于搜索路径上,因此您只需
处理.Start(“calc.exe”)
。那么您的实际问题是什么?你的代码不符合你的要求,但是你没有说什么是“不一致的”。虽然我使用了1000毫秒的延迟,但这很有效,谢谢。虽然我使用了1000毫秒的延迟,但这很有效,谢谢。