Tengo el siguiente código Delphi que define un conjunto y luego una declaración if simple que verifica si un valor pasado del tipo de conjunto cae dentro de ciertos valores.¿Cómo convertiría este código Delphi Set a C#?
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
me he convertido en C# usando un enum
, pero el código para comprobar el valor ahora consiste en una declaración if or
que parece un poco largo aliento para mí.
public enum FileOverwriteMode
{
None,
DateAndSize,
DateOrSize,
Date,
Size,
Force,
}
...
if ((overwriteMode == FileOverwriteMode.DateAndSize) ||
(overwriteMode == FileOverwriteMode.DateOrSize) ||
(overwriteMode == FileOverwriteMode.Date) ||
(overwriteMode == FileOverwriteMode.Size))
{
}
¿Hay alguna manera de simplificarlo utilizando algún tipo de C# set equivalente?
Gracias Jon, eso funciona bien. Solo necesitaba agregar HashSet después del readonly para hacerlo compilar ¡y estaba listo para empezar! (¡Disculpas por el error tipográfico!) –
Pauk
@Pauk: Doh - eso se debió a tener 'var' allí antes :) Lo editará en la respuesta. –