修改字典中的结构体值
本文关键字:结构体 字典 修改 | 更新日期: 2023-09-27 18:14:56
我创建了一个字典,它接受结构体的值并存储它们。填写如下:
_screenEntry.type = typeof(string);
_screenEntry.value = tagTextBox.Text;
_screen.nodeDictionary.Add("Tag ", _screenEntry);
作为参考,我的结构看起来像这样:
public struct Entry
{
public Object value;
public Type type;
}
无论如何,我现在试图修改我第一次存储的值。我只是试着回忆一下nodeDictionary。再次添加,希望它能覆盖我以前的条目。然而,我得到一个错误,说我的字典已经有一个名为"标签"的键,这是不言自明的。
我在google上搜索了一下,发现如果我想覆盖我的初始值,我只需要调用这一行:_screenTag = tagTextBox.Text;
_screen.nodeDictionary["Tag "] = _screenTag;
但是我得到以下错误:
错误2无法隐式地将类型"string"转换为"InMoTool"。输入"
我真的不知道如何转换这个。有人能给我指一下路吗?
使用下面的代码
_screenTag = tagTextBox.Text; // <-- is a string
_screen.nodeDictionary["Tag "] = _screenTag;
您正在尝试将string
分配给Entry
。这是不可能的。
我认为你需要的是这样的东西:
_screenTag = tagTextBox.Text;
_screen.nodeDictionary["Tag "] = new Entry {
type=_screenTag.GetType(),
value=_screenTag
};