[英]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.