Tôi đã có mã Delphi sau đây định nghĩa một tập hợp và sau đó một câu lệnh if đơn giản để kiểm tra xem giá trị được truyền của loại tập hợp có nằm trong các giá trị nhất định hay không.Làm cách nào để chuyển đổi mã Delphi Set này thành C#?
TOverwriteMode = (omNone, omDateAndSize, omDateOrSize, omDate, omSize, omForce);
...
if OverwriteMode in [omDateAndSize, omDateOrSize, omDate, omSize] then
begin
end;
tôi đã chuyển đổi nó để C# sử dụng một enum
, nhưng mã để kiểm tra giá trị hiện nay bao gồm một tuyên bố if or
mà có vẻ hơi dài hơi với tôi.
public enum FileOverwriteMode
{
None,
DateAndSize,
DateOrSize,
Date,
Size,
Force,
}
...
if ((overwriteMode == FileOverwriteMode.DateAndSize) ||
(overwriteMode == FileOverwriteMode.DateOrSize) ||
(overwriteMode == FileOverwriteMode.Date) ||
(overwriteMode == FileOverwriteMode.Size))
{
}
Có cách nào để đơn giản hóa nó bằng cách sử dụng loại tương đương C# nào đó không?
Cảm ơn Jon, hoạt động tốt. Tôi chỉ cần thêm HashSet sau khi readonly để làm cho nó biên dịch và nó là tốt để đi! (Xin lỗi cho tên lỗi đánh máy!) –
Pauk
@Pauk: Doh - đó là do có 'var' ở đó trước :) Sẽ sửa nó thành câu trả lời. –