2
是否可以確定當前正在評估哪個案例?事情是這樣的示例代碼:如何確定switch語句中的當前情況?
const int one = 1;
const int two = 2;
int current_num = 1;
switch (current_num){
case one:
case two:
WriteLine(current_case) //outputs 'one'
break;
}
我相信我會變得棘手和使用字典什麼的來查找current_num
一旦我開始WriteLine
,但也可能有一個內置的方式來獲得當前正在評估的當前案件的名稱。
編輯:簡而言之,這是不可能的。檢查JonSkeet的答案是一個合理的選擇。
這是無效的C#開始,因爲'case'表達式只能是常量。我認爲你正在嘗試做一些真正不存在的東西... – 2013-03-02 17:33:41
@JonSkeet:true,但是如果你用1等替換「one」,它仍然是一個有趣的問題。儘管我非常懷疑沒有IL編織或其他後處理技術是可能的。 – Alxandr 2013-03-02 17:35:13
@Alxandr:如果用1替換「one」,那麼爲什麼不使用'WriteLine(current_num)'?真的不清楚OP究竟在努力達到什麼 - 我已經發布了一個可能會有所幫助的答案,但我們可以做得更清楚。 – 2013-03-02 17:36:19