“устанавливая свойство, которое имеет только метод считывания” - ошибка JavaScript с Firefox

перегруженный == операторы и невведенные контейнеры (arraylists, наборы данных, и т.д.):

string my = "my ";
Debug.Assert(my+"string" == "my string"); //true

var a = new ArrayList();
a.Add(my+"string");
a.Add("my string");

// uses ==(object) instead of ==(string)
Debug.Assert(a[1] == "my string"); // true, due to interning magic
Debug.Assert(a[0] == "my string"); // false

Решения?

  • всегда использование string.Equals(a, b), когда Вы сравниваете строковые типы

  • дженерики использования как List<string>, чтобы гарантировать, что оба операнда являются строками.

5
задан fooMonster 18 October 2011 в 12:33
поделиться

2 ответа

Я связал воедино пару замечательных примеров выше (спасибо, как всегда, г-ну Скиту и г-ну Карлсену ), чтобы включить пару различных Observables и использовал интерфейс, чтобы отслеживать их в Observer, и позволяет Observer "

7
ответ дан 13 December 2019 в 22:12
поделиться
case 'tagName': break;

... это решение, но чтобы поблагодарить RedSquare за подсказку, я пометил его.

3
ответ дан 13 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

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