ちょっとしたテストとして、C# コンソール アプリケーションで int.MaxValue までカウントするのにかかる時間を確認したいと思いました。数時間ごとに進行状況を確認しました。昨夜、プログラムの実行が終了したと思ったら、実行が 0 に戻っていました。なぜそうなったのかわかりません。誰か説明してもらえないかと思っていました。2,147,483,647 までカウントし、この値に達するとゼロまで逆方向にカウントし始めました。逆にカウントしているように見えても、値は負の数でした。int.MaxValue の絶対値を使用する必要があるのだろうか。とにかく、誰かが私が見ていないものを見ることができるかどうか、私はただ興味がありました. これが私のコードです。ありがとう
static void Main(string[] args)
{
int maxInt = int.MaxValue;
int numToCountTo = maxInt;
//int numToCountTo = 1000000;
try
{
Console.WriteLine(DateTime.Now);
Console.WriteLine("Press any key to begin.");
Console.ReadLine();
Stopwatch sw = new Stopwatch();
sw.Start();
for (int counter=0; counter <=numToCountTo ; counter++)
{
Console.WriteLine(counter);
}
sw.Stop();
TimeSpan ts = sw.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00 Hours}, {1:00 Minutes}, {2:00 Seconds}, {3:00 Milliseconds}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
// ("#,#") places a comma between every 3 digits
Console.WriteLine("It took " + elapsedTime + " to count to " + numToCountTo.ToString("#,#"));
Console.WriteLine("Press Enter key to continue.");
Console.ReadLine();
}
catch (Exception ex)
{
throw new Exception("Exception Reached: " + ex.Message)
}
}