我不得不說,標題太窮,無法描述問題,但這是我能想到的唯一的事情。無論如何,假設我已經給出了以下枚舉:我怎麼能把一個約束力的文字字符串參數
public enum DocumentType{
IdCard=0,
Passport,
DriversLicense
}
而且我有一個接受一個字符串,並返回上述枚舉的方法:
public DocumentType GetDocTypeByString(string docType){
switch (docType)
{
case "ID":
return DocumentType.IdCard;
case "PASS"
return DocumentType.Passport;
//and so on
}
}
現在,如果傳遞的字符串沒有什麼滿足任何切換條件?最愚蠢的事情是製作返回類型的對象,但這是幾乎沒有人會這樣做的。如果枚舉是我的,我會添加一個名爲「None」的附加值,並在沒有匹配的情況下返回該值,但我無法控制它。然後我想,是否有可能將輸入限制到某些值。就C#而言,我幾乎完全相信這是不可能的,但我仍然決定要問。你會在這種情況下推薦?
你從哪裏購買你的字符串(ui?)。你不能使用枚舉嗎? – Nattrass
我可能會通過不把它留給用戶輸入來保證它的安全,但我只是好奇。 –