У меня есть следующий код Delphi, который определяет набор, а затем простой оператор if, который проверяет, попадает ли переданное значение типа набора в определенные значения.
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
Я преобразовал его в C #, используя enum
, но код для проверки значения теперь состоит из оператора if or
, который мне кажется немного длинным.
public enum FileOverwriteMode
{
None,
DateAndSize,
DateOrSize,
Date,
Size,
Force,
}
...
if ((overwriteMode == FileOverwriteMode.DateAndSize) ||
(overwriteMode == FileOverwriteMode.DateOrSize) ||
(overwriteMode == FileOverwriteMode.Date) ||
(overwriteMode == FileOverwriteMode.Size))
{
}
Есть ли способ упростить его, используя какой-то эквивалентный набор C #?