【发布时间】:2015-05-27 08:30:52
【问题描述】:
现在我是实际代码的样子,它正在成功调试(运行):
object attributes = new object[] {
"key1=value1",
"key2=value2",
"key3=value3",
"key4=value4",
"keyN=valueN"
};
有时我需要更改值,所以我使用 C# Dictionary 定义为:
public Dictionary<string,string> dAttributes=new Dictionary<string,string>();
我正在字典中一一添加KEY和VALUE。但是当我尝试进行类型转换(我认为这是不可能的)或应用任何其他逻辑时,名为“属性”的对象中的值的格式不正确。
首先我尝试了这个:
object attributes = new object[]{dAttributes};
然后我这样做了:
int i=0;
string attribueKeyAndValues;
attribueKeyAndValues = "";
foreach (KeyValuePair<string,string> item in dAttributes)
{
if(i==(dealAttributes.Count-1))
attribueKeyAndValues+="\"" +item.Key+"="+item.Value+"\"";
else
attribueKeyAndValues += "\"" + item.Key +"="+ item.Value + "\"" + ",";
i++;
}
attributes = new object[] { attribueKeyAndValues };
现在这段代码不起作用,因为attribute 将整个字符串作为单个值。另外更重要的是,当我调试代码并快速查看 attribueKeyAndValues(在 Text Visualizer 中)中的值时,我会看到 "\key=value\","\key=value\" 等等。
还有其他方法可以在attribute 中添加值吗?
【问题讨论】:
-
当然不行,因为attributeKeyAndValue是单个字符串而不是字符串数组。另请记住,如果您使用字典,则无法保证顺序。
-
嗯,这里似乎有些奇怪。为什么要从引用
object[]的object开始,而object[]本身只包含字符串?为什么不从string[]开始,完全避开object?
标签: c# object generics dictionary