-2

私のコードの例:

string value = client.DownloadString("http://www.site.com/value.html"); // There is a value of something like a1x6b2xs2 (just one line with random numbers that changes randomly).
Console.WriteLine(value);
Console.ReadKey();

これですべてのコードです。サイトの値が変更された場合にのみ、コンソールに番号を再度書き込ませる必要があります。そしてそれをノンストップループにし、古い値が変更された場合にのみ、何度も何度も番号を書きます。

4

6 に答える 6

7

前の数字を変数に入れて、印刷する前に確認してみませんか?

int previousNumber = int.MinValue; // some invalid value 
while (isRunning) {
    // wait three minutes
    int currentNumber = GetNumberFromSite();
    if (currentNumber != previousNumber) {
        Console.WriteLine(currentNumber);
        previousNumber = currentNumber;
    }
}
于 2012-10-24T14:49:11.387 に答える
1

古い値を保存し、新しい値を出力する前に確認する必要があります。

int oldVal = -1;

while (true)
{
  int newVal = GetNewValue();
  if (newVal != oldVal)
  {
     Console.WriteLine(newVal);
     oldVal = newVal ;
  }
  Thread.Sleep(1000 * 60 * 3)
}
于 2012-10-24T14:49:37.907 に答える
1

このようなもの:

int current = ...;
int prev = current;
while(true)
{
    // get new number in current
    if(current != prev) 
        Console.WriteLine(current);
    prev = current;
    // wait 3 min
}
于 2012-10-24T14:49:47.063 に答える
1
int? oldNumber = null;


// in your loop reading from the website:
if (oldNumber != null && newNumber != oldNumber)
{
    oldNumber = newNumber;
    Console.WriteLine(newNumber);
}
于 2012-10-24T14:50:19.750 に答える
0

timerその番号が変更されたかどうかを定期的にチェックする を使用できます。

private System.Threading.Timer checkNumberTimer;
private int currentNumber;

private void InitTimer()
{
    //start immediately, interval is in TimeSpan
    checkNumberTimer = new System.Threading.Timer(
        timer_Elapsed,
        null,
        TimeSpan.Zero,
        Properties.Settings.Default.Interval
    );
}

private void timer_Elapsed(Object state)
{
    int oldNumber = currentNumber;
    currentNumber  =  CheckNumber();
    if( oldNumber != currentNumber  )
        ShowNewNumber( currentNumber );
}
于 2012-10-24T14:51:32.400 に答える
0

値を var に書き込み、変更されたかどうかを確認しますか?

int old, new
new = getValue(file.html)
if new != old then
  write(new) 
old = new

自分で作業コードに変換できます。

于 2012-10-24T14:53:10.057 に答える