2009-02-13 35 views
1

我有以下代碼:vb.net,選擇嚴格,枚舉和壓倒一切的ToString

Public Enum Country 
    Canada = 1 
    USA = 2 
End Enum 

當我想看看用戶選擇的值,我做的:

ddl.SelectedValue = Country.Canada 

哪些工作正常。但是,如果我打開隱式轉換的警告,則會發出警告。將它更改爲

ddl.SelectedValue = Country.Canada.ToString() 

失敗,因爲ToString()方法返回「Canada」而不是「1」。

擺脫警告的最佳方法是什麼?

回答

1

您可以將SelectedValue顯式強制轉換爲int或Country作爲字符串。

If CInt(ddl.SelectedValue) = Country.Canada 

If ddl.SelectedValue = CStr(Country.Canada) 

如果你把第一個選項,您可能需要顯式聲明的枚舉的整數發生

Public Enum Country As Integer 

的警告,因爲的SelectedValue是一個字符串,鄉村是一個整數,所以隱式轉換髮生 - 就像它說的一樣!

0

如果你想要'1'而不是'加拿大',你可以明確地先把它轉換成整數,然後對結果調用.ToString()。

ddl.SelectedValue = DirectCast(Country.Canada, Integer).ToString()