如何获取Enum的描述以添加到NameValueCollection中

时间:2014-03-11 08:52:24

标签: c# asp.net

我有枚举,

public enum ClearAttributes
{
    S_DURATION,
    S_TYPE

}

我使用enum

中的描述向NameValueCollection添加项目
NameValueCollection nvCollection = new NameValueCollection();
nvCollection.Add(ClearAttributes.S_DURATION.ToString(), "SomeText1");
nvCollection.Add(ClearAttributes.S_TYPE.ToString(), "SomeText2");

我想要描述(Key)和值两者,但在描述中它始终将索引值设为0,1。使用以下代码。

nvCollection.Keys[i];//For Description
nvCollection[i];//For Value

所以请帮我从enum获取描述。

1 个答案:

答案 0 :(得分:4)

你可以试试这个:

var description = nvCollection.GetKey(i);
var value =  nvCollection.Get(i);

替代方案可能是这样的:

IDictionary<ClearAttributes,string> collection = new Dictionary<ClearAttributes, string>();
collection.Add(ClearAttributes.S_DURATION, "SomeText1");
collection.Add(ClearAttributes.S_TYPE, "SomeText2");

string value = string.Empty;
collection.TryGetValue(ClearAttributes.S_DURATION, out value);