[英]Difference between Enum.GetValues and Enum.GetNames
我看到Enum.GetValues
返回基本Array
類型,而Enum.GetNames
返回一個string
數組。 但我不明白這是多么重要。 無論如何,對於enum
,值是字符串。
但是,有一個相關的問題。 如果我給DataSource
= Enum.GetValues
,則DataGridView
ComboBox
列數據綁定到enum
,但當我給它Enum.GetNames
作為DataSource
時它不會數據綁定。
枚舉實際上是數字。 GetNames
返回字段名稱。 GetValues
返回數值。
MSDN 在GetValues
上有一個很好的示例。
將枚舉視為名稱/值對。
enum SignMagnitude { Negative = -1, Zero = 0, Positive = 1 };
在上面的示例中, GetNames()
將返回一個string
數組,其中包含項“Negative”、“Zero”和“Positive”。 GetValues()
將返回的數組SignMagnitude
含有SignMagnitude.Negative
, SignMagnitude.Zero
和SignMagnitude.One
。
這里有一個將枚舉名稱綁定到 DataGridView 中的下拉列表的示例: 從 DataGridView 中的枚舉創建下拉列表選項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.