2014-12-04 46 views
-1

我有C#代码:组等同于C#

if (OldStatus = activityStatus.Complete) or (OldStatus = activityStatus.Cancelled)... 

在Delphi中我会写

if OldStatus in (Complete, Cancelled) then... 

是否有任何等同于这种使用一组在C#或者我需要按照上面的方法说明每个选项(或使用开关/外壳)。 (对不起,如果问题是基本的;我是C#的新手。)

回答

1

没有语言功能。你可以按照你所说的“拼写出来”,或用if/else链,开关,使用HashSet<T>等来模拟它 - 正确的答案是特定于案例的,它们在不同情况下都是有效的。

0

如果你正在寻找一个enum价值,而且enum标有[Flags]属性,那么你可以使用一个位掩码,以确定是否需要的值存在 - 正如证明this answer,否则,开关,如果/其他等。适用。