我认为在这里显示我的代码更容易理解。如何更改字典中的值<int, float>()?
Dictionary<int, float> list = new Dictionary<int, float>();
list.add(0, 0f);
float fValue = 0f;
list.TryGetValue(0, out fValue);
fValue = 10f;
此代码不正确,因为float数据类型不是类。这是一个结构。
我想改变“float”的值。
任何想法?
我认为在这里显示我的代码更容易理解。如何更改字典中的值<int, float>()?
Dictionary<int, float> list = new Dictionary<int, float>();
list.add(0, 0f);
float fValue = 0f;
list.TryGetValue(0, out fValue);
fValue = 10f;
此代码不正确,因为float数据类型不是类。这是一个结构。
我想改变“float”的值。
任何想法?
在一般情况下,你可以做这样的事情:
if (list.TryGetValue(0, out fValue))
list[0] = 10f; // <- key 0 exits
else
list.Add(0, 10f); // <- no such key found
如果您不希望fValue
对应于0
键,则可以缩短代码
if (list.ContainsKey(0))
list[0] = 10f; // <- when key 0 exits
else
list.Add(0, 10f); // <- no such key found
那代码甚至不会*编译*开始,因为没有'add'方法。如果字典是一个列表,当它不是时,它也会产生误导。 – 2014-10-17 05:53:50
* list.add(0,0f) - list.Add(0,0f);而名单“名单”只是一个名字来解释我面临的问题。 :) – Phiru 2014-10-17 06:00:56
是的,但我的观点是,a)如果你要提供演示代码,你应该确保它首先工作; b)如果你想*解释*某事,那么使用一个误导性的变量名将违背你的目标。值得花费精力用适当的示例代码来问好问题,这样可以让问题尽可能清晰。 – 2014-10-17 06:03:26