Таким образом, в C# оператор switch поддерживает только целочисленные типы (но не Guid), поэтому простая таблица сравнения O(1) не выглядит возможной.
Каков наиболее эффективный с вычислительной точки зрения способ сопоставления Guid
Сначала я подумал
if(gMyGuid == new Guid("VALUE"))
else if (gMyGuid == new Guid("VALUE2")
else if (gMyGuid == new Guid("VALUE3")
...
else if (gMyGuid == new Guid("VALUEn")
Однако, делая это, я каждый раз создаю новый экземпляр Guid для сравнения. Я мог бы преобразовать Guid в строку, а затем сравнить строку, но сравнение строк — довольно длинная строка для сравнения.
Мы с благодарностью примем любые советы.