Ich habe den folgenden Delphi-Code, der eine Menge definiert und dann eine einfache if-Anweisung, die überprüft, ob ein übergebener Wert des Settyps innerhalb bestimmter Werte liegt.Wie würde ich diesen Delphi-Set-Code in C# konvertieren?
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
I umgewandelt habe es in C# ein enum
verwenden, aber der Code für den Wert Überprüfung besteht nun aus einer if or
Aussage, die ein bisschen zu mir langatmig zu sein scheint.
public enum FileOverwriteMode
{
None,
DateAndSize,
DateOrSize,
Date,
Size,
Force,
}
...
if ((overwriteMode == FileOverwriteMode.DateAndSize) ||
(overwriteMode == FileOverwriteMode.DateOrSize) ||
(overwriteMode == FileOverwriteMode.Date) ||
(overwriteMode == FileOverwriteMode.Size))
{
}
Gibt es eine Möglichkeit, es zu vereinfachen, indem Sie eine Art von C# -Set-Äquivalent verwenden?
Danke Jon, das funktioniert gut. Ich musste nur HashSet nach dem Readonly hinzufügen, um es kompilieren zu lassen und es war gut zu gehen! (Entschuldigung für den Namen Tippfehler!) –
Pauk
@Pauk: Doh - das war wegen "Var" dort vorher :) Wird es in die Antwort bearbeiten. –