Câu trả lời theo nghĩa đen là:
return (value == 1 ? Periods.VariablePeriods : Periods.FixedPeriods);
Lưu ý rằng câu lệnh if inline, giống như câu lệnh if, chỉ kiểm tra đúng hay sai. If (giá trị == 1) ước lượng là false, nó có thể không nhất thiết có nghĩa rằng giá trị == 2. Do đó nó sẽ được an toàn hơn như thế này:
return (value == 1
? Periods.VariablePeriods
: (value == 2
? Periods.FixedPeriods
: Periods.Unknown));
Nếu bạn thêm nhiều giá trị một inline nếu sẽ trở nên không thể đọc được và một chuyển đổi sẽ được ưu tiên:
switch (value)
{
case 1:
return Periods.VariablePeriods;
case 2:
return Periods.FixedPeriods;
}
Điều tốt về enums là chúng có giá trị, vì vậy bạn có thể sử dụng các giá trị cho ánh xạ, như được đề xuất bởi người dùng854301. Bằng cách này bạn có thể ngăn chặn các nhánh không cần thiết, do đó làm cho mã dễ đọc hơn và có thể mở rộng được.
@Ysterhak: Rất vui được.Tôi vẫn tự hỏi tại sao bạn thích phân nhánh bằng cách sử dụng một diễn viên như đề xuất bởi user854301 – chiccodoro