C # Threading и многопользовательская программа

Если метод equals() присутствует в классе java.lang.Object, и ожидается, что он проверяет эквивалентность состояния объектов! Это означает, что содержимое объектов. В то время как ожидается, что оператор == проверяет, что фактические экземпляры объекта одинаковы или нет.

Пример

Рассмотрим две различные ссылочные переменные, str1 и str2:

str1 = new String("abc");
str2 = new String("abc");

Если вы используете equals()

System.out.println((str1.equals(str2))?"TRUE":"FALSE");

, вы получите выход как TRUE, если вы используете ==.

System.out.println((str1==str2) ? "TRUE" : "FALSE");

Теперь вы получите вывод FALSE в качестве вывода, потому что оба str1 и str2 указывают на два разных объекта, хотя оба они имеют одинаковое строковое содержимое. Именно из-за new String() каждый новый объект создается каждый раз.

0
задан OPLEaDER 13 July 2018 в 11:03
поделиться

1 ответ

Существует различие между system.Timers.Timer и System.Threading.Timer. Я думаю, вам нужно что-то вроде этого:

static void Main(string[] args)
    {
        var timer = new System.Timers.Timer
        {
            AutoReset = true,
            Interval = 100,
            Enabled = true
        };
        timer.Elapsed += TimerOnElapsed;
        timer.Start();

        Console.ReadKey();
    }

    private static void TimerOnElapsed(object sender, ElapsedEventArgs elapsedEventArgs)
    {
        Console.WriteLine("do stuff on a interval");
    }
-1
ответ дан RazorShorts 17 August 2018 в 13:05
поделиться
  • 1
    ОП задал конкретный вопрос. Вы этого не ответили. Сначала ответьте на вопрос, затем уточните, если вы думаете, что есть лучший способ сделать то, что они делают. – Enigmativity 15 July 2018 в 03:55
Другие вопросы по тегам:

Похожие вопросы: