2014-09-04 135 views
1

我有一個問題。 在我的代碼中,我有一個枚舉,列出了不同的行業部門。枚舉的值是從數據庫中讀取的。從數據庫中讀取枚舉

當我嘗試從數據庫中投下字符串時,我得到一個InvalidCastException。我知道問題是枚舉,因爲返回的所有其他值都是字符串。我該如何解決這個問題。

下面是代碼:

public enum EnBranche 
    { 
     Metall = 1, 
     Informatik = 2, 
     Einzelhandel = 3, 
     Landwirtschaft = 4, 
     Energie = 5, 
     Gesundheitswirtschaft = 6, 
     Industrie = 7, 
     Tourismus = 8, 
     Logistik = 9 
    }; 

var firma = FirmaFuellen(dataSet.Tables["Firmen"].Rows[i].ItemArray[1].ToString(), 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[2].ToString(), 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[3].ToString(), 
             (int) dataSet.Tables["Firmen"].Rows[i].ItemArray[4], 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString(), 
             **(EnBranche) dataSet.Tables["Firmen"].Rows[i].ItemArray[5]);** 
+0

感謝編輯:) – 2014-09-04 12:35:51

回答

2

請嘗試使用Enum.Parse

(EnBranche) Enum.Parse(typeof(EnBranche), 
         dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString()) 
+0

感謝快速的answere和它的工作原理 – 2014-09-04 12:17:08