кортеж c # 7.0 используется как пользовательский тип

== сравнивает ссылки на объекты в Java и не является исключением для объектов String.

Для сравнения фактического содержимого объектов (в том числе String) необходимо использовать equals.

Если сравнение двух объектов String с использованием == оказывается true, это связано с тем, что объекты String были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String. Не следует ожидать сравнения одного объекта String, содержащего то же содержимое, что и другой объект String, используя == для оценки как true.

1
задан tedebus 17 January 2019 в 09:45
поделиться

1 ответ

Кортежи не являются типами. Не в обычном смысле.

Кортежи в C # были созданы, чтобы действовать как мешок индивидуальных ценностей.

Указанные имена элементов кортежа не являются частью типа, а представляют собой аннотации к экземплярам, ​​созданным из этого определения. Для среды выполнения (и для компилятора, по большей части), (int ID, string name, string secondName, int age) это то же самое, что (int i1, string s1, string s2, int i2) или (int, string, string, int).

0
ответ дан Paulo Morgado 17 January 2019 в 09:45
поделиться
Другие вопросы по тегам:

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