2014-09-04 69 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