Ho il seguente codice Delphi che definisce un set e quindi una semplice istruzione if che controlla se un valore passato del tipo impostato rientra in determinati valori.Come convertire questo codice Delphi Set in C#?
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
ho convertito in C# utilizzando un enum
, ma il codice per controllare il valore ora è composta da una dichiarazione if or
che sembra un po 'lungo senza fiato per me.
public enum FileOverwriteMode
{
None,
DateAndSize,
DateOrSize,
Date,
Size,
Force,
}
...
if ((overwriteMode == FileOverwriteMode.DateAndSize) ||
(overwriteMode == FileOverwriteMode.DateOrSize) ||
(overwriteMode == FileOverwriteMode.Date) ||
(overwriteMode == FileOverwriteMode.Size))
{
}
C'è un modo per semplificarlo utilizzando un qualche tipo di equivalente C# set?
Grazie Jon, funziona bene. Ho solo bisogno di aggiungere HashSet dopo il readonly per renderlo compilabile ed è stato bello andare! (Ci scusiamo per il nome di battitura!) –
Pauk
@Pauk: Doh - che era dovuto ad avere 'var' lì prima :) Lo modificherà nella risposta. –