我有下面的Delphi代碼,它定義了一個集合,然後是一個簡單的if語句,用於檢查集合類型的傳遞值是否落入特定值。我該如何將此Delphi集代碼轉換爲C#?
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
我它轉換爲使用enum
C#,但用於檢查值的代碼,現在由一個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#集合的等價方式來簡化它?
感謝喬恩,那很好。我只需要在readonly之後添加HashSet來編譯它,這很好! (道歉名稱錯別字!) –
Pauk
2010-02-22 14:38:06
@Pauk:Doh--那是因爲之前有'var' :)將它編輯成答案。 – 2010-02-22 15:39:08