Я знаю, что метод .Contains для хэш-набора работает быстро. Мой вопрос заключается в том, что является лучшим методом для получения данных хэш-набора перед повторным использованием метода .Contains?
Я могу придумать 2 варианта. Оба эти примера будут вызваны в цикле неопределенной длины.
1) Вызовите метод, который возвращает кэшированный хэш-набор напрямую, и используйте метод .Contains.
IF (GetHashSetMethod.Contains("TESTVALUE") THEN BLAH, BLAH, BLAH...
2) Создайте новый хэш-набор вне цикла и загрузите в него кэшированные данные хеш-набора, чтобы метод, который возвращает хеш-набор, вызывался только один раз, затем используйте метод .Contains.
DIM HashTest AS HASHSET(OF String) = GetHashSetMethod
Затем в цикле:
if (HashTest.Contains("TESTVALUE") THEN BLAH, BLAH, BLAH...
Я использовал метод 1. Должен ли я вообще думать о переходе на метод 2? Есть ли третий вариант, о котором я даже не подумал? Имеет ли это значение, потому что данные для начала кэшируются?