在c#中创建一个键值对

时间:2015-04-01 06:00:30

标签: c# asp.net key-value

我一直在尝试创建一个具有键值对属性的类,我尝试过Dictionary关键字,但我需要这样的东西:

ClassName clsName = new ClassName();

clsName.PropertyName.Add["Key"] = value;

我希望它是动态属性,所以我可以发送任何数据类型。

5 个答案:

答案 0 :(得分:3)

如果你在基础课之后,关键和价值,

KeyValuePair<string, object>

为你工作?

答案 1 :(得分:3)

我建议你简单地使用“HASHTABLE”,这对你来说更容易.Below是语法。

    Hashtable hashtable = new Hashtable();
    hashtable.Add("Area", 1000);
    hashtable.Add("Perimeter", 55);

第一个参数代表键,第二个代表值。所以它是键值对。

答案 2 :(得分:1)

我不确定我是否正确理解了这个问题,但显然您可以使用generic Dictionary来满足您的要求,其中键类型参数为string且值类型参数为{{1你可以使用object

答案 3 :(得分:0)

如果我们假设你的keyvaluepair有一个字符串键和一个int值,那么你可以尝试这个:

clsName.PropertyName = new KeyValuePair<string, int>("keyName", 2);

您无需使用任何Add方法。实际上,当你有一个你想要添加一个项目的集合时,后者会产生。从您发布的问题中我们不能说这是您的情况。

答案 4 :(得分:0)

public class ClassName
{
  public KeyValuePair<string, object> PropertyName {get; set; }
}

var c = new ClassName();
c.PropertyName = new KeyValuePair<string, object>("keyName", someValue);

或者,如果您需要存储多个值,请使用Dictionary<string, object>作为您的媒体资源类型。

public class ClassName
{
    public ClassName()
    {
       this.PropertyName = new Dictionary<string, object>();
    }

    public Dictionary<string, object> PropertyName {get; set; }
}

var c = new ClassName();
c.PropertyName.Add("stringKey", anyValue);