0
StopWatchラベルが0に等しいときに、そのラベルを非表示にしたいのですが、どうすれば条件演算子を使用できますか?変数が0のときにラベルを非表示にする
using System;
using System.Diagnostics;
using System.Threading;
namespace FileTransfer_Socket_Client
{
class transferRate
{
static Stopwatch stopWatch = new Stopwatch();
public static void timeLeft()
{
Thread StimeLeft = new Thread(Start);
StimeLeft.Start();
}
private static void Start()
{
int rate = 0;
int left = 0;
int prevSum = 0;
stopWatch.Start();
while (fileTransfer.client.Connected)
{
if (fileTransfer.sum != 0)
{
rate = (fileTransfer.sum-prevSum)/1024;
left = ((fileTransfer.fileSize - fileTransfer.sum)/ 1024)/rate;
TimeSpan t = TimeSpan.FromSeconds(left);
Program.mainForm.AppendLabel(string.Format("{0}kb/s timeleft: {1:D2}:{2:D2}:{3:D2}", rate, t.Hours, t.Minutes, t.Seconds));
prevSum = fileTransfer.sum;
Thread.Sleep(1000);
}
}
stopWatch.Stop();
stopWatch.Reset();
}
}}
はい、シンプルで速い方法はifステートメントを使用しています... – Dan
例を含めて、コードの関連部分だけを投稿してください。 –
なぜ 'if'文を使いたくないのですか?代わりに条件演算子を使用して満足していますか?コードの行数を増やすとプログラムの実行が遅くなるという誤った考え方に苦しんでいますか? –