我想在Commodore 128 Basic中運算符中有。
在c#中是否還有一個in運算符?in operator in C#
我的意思是有樣
if(aString in ["a", "b", "c"])
Console.Out.WriteLine("aString is 'a', 'b' or 'c'");
EDIT1操作:目前我需要它來決定,如果一個枚舉值在一定範圍內枚舉值。
編輯2:謝謝大家的Contains()解決方案。我將來會使用它。但目前我需要枚舉值。我可以使用Contains()或其他方法替換以下語句嗎?
public enum MyEnum { A, B, C }
class MyEnumHelper
{
void IsSpecialSet(MyEnum e)
{
return e in [MyEnum.A, MyEnum.C]
}
}
編輯3:對不起,它不是基本的。我剛剛搜索了一下,發現Turbo Pascal是我可以看到的候選人。見http://en.wikipedia.org/wiki/Pascal_%28programming_language%29#Set_types
Edit4:最佳答案到現在爲止(到2005年底2012年2月15日):
- 對於列表和數組:接受的答案和所有其他的答案與 載有()解決方案
- For Enums:TheKaneda的答案與優點/利弊列表 不同的擴展方法
基於您的代碼,你看看是否ASTRING等於「一個「,」b「或」c「,而不是它是否包含」a「,」b「或」c「。是對的嗎?幾年以來,我看着Commodor 128基本版,但如果我沒有記錯的話,這看起來像典型的分支代碼。 – David 2012-02-15 19:28:24
我不記得從C-128 BASIC(儘管你把我帶回去......),但是這非常接近Python語法 – 2012-02-15 19:31:21
是的,在我記憶中的任何1980年代BASIC中都沒有「in」。 – 2012-02-15 19:40:40