在c#中创建键值对

Gau*_*tya 6 c# asp.net key-value

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

ClassName clsName = new ClassName();

clsName.PropertyName.Add["Key"] = value;
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*tos 8

如果我们假设 的KeyValuePair键为 a string,值为int,那么您可以尝试以下操作:

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

您不需要使用该Add方法。实际上,当您有一个集合并且不想向其中添加项目时,后者是有意义的。从您在问题中发布的内容来看,我们不能说这是您的情况。


小智 5

我建议您简单地使用“HASHTABLE”,它对您来说更容易。下面是语法。

    Hashtable hashtable = new Hashtable();
    hashtable.Add("Area", 1000);
    hashtable.Add("Perimeter", 55);
Run Code Online (Sandbox Code Playgroud)

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


Cod*_*dor 1

我不确定我是否正确理解了这个问题,但显然您的要求可以使用通用 Dictionary 来满足,其中键类型参数为string,值类型参数为object,即您可以Dictionary<string,object>这样使用:

public class ClassName {
    public Dictionary<string, object> Dictionary { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

进而:

ClassName classObject = new ClassName();
classObject.Dictionary.Add("Key", new { "value" });
Run Code Online (Sandbox Code Playgroud)