Тимур Покровский, Подумал над такой задачей, что функция будет создавать несколько экземпляров класса, было бы удобнее, чтобы названия были упорядочены, чем отдельные name стринги пихать в класс.
Тимур Покровский, Хм... разве в массиве названия не будут одинаковыми? Я прямо сейчас думаю над этой идеей и похоже не совсем правильно понял вас, не могли бы объяснить?
Спасибо, глуповатый ещё, как я понял, название экземпляра не имеет значение и создано лишь для удобства выбора. Но прошу подтвердить мою догадку, каждый созданный экземпляр класса будет уникальным даже если изначально будут названы одинаково? И еще один вопрос по поводу вашего кода, Name является переменной внутри Class? Спасибо за ваш труд, сеньор!
Азимия Редж, Сложный вопрос. По идее да, но если переопределить GetHash() и Equal()
то я не лез в эти дебри. Хотя в этом случае вы должны гарантировать однозначность поведения.
То есть стоит использовать только в своем коде и с осторожностью перекидывать.
Два объекта, которые равны, возвращают хэш-коды, равные. Однако обратная неверно: равные хэш-коды не подразумевают равенство объектов, так как разные (неравные) объекты могут иметь одинаковые хэш-коды. Более того, .NET не гарантирует реализацию метода GetHashCode по умолчанию, и значение, возвращаемое этим методом, может отличаться между реализациями .NET, такими как различные версии .NET Framework и .NET Core, а также платформы, такие как 32-разрядные и 64-разрядные платформы. По этим причинам не следует использовать реализацию этого метода по умолчанию в качестве уникального идентификатора объекта для хэширования. Ниже приведено два последствия.
Не следует рассчитывать, что равные хэш-коды подразумевают равенство объектов.
Никогда не следует сохранять или использовать хэш-код вне домена приложения, в котором он был создан, так как один и тот же объект может быть хэширован между доменами приложений, процессами и платформами.