我想知道如何替换 C# 字典中的 int 值。这些值看起来像这样。
- 25,12
- 24,35
- 12,34
- 34,12
我想知道我怎么只能替换一行。例如,如果我想用新值 12,12 替换第一行。而且它不会替换字典中的任何其他“12”值。
我想知道如何替换 C# 字典中的 int 值。这些值看起来像这样。
我想知道我怎么只能替换一行。例如,如果我想用新值 12,12 替换第一行。而且它不会替换字典中的任何其他“12”值。
ADictionary<TInt, TValue>
使用所谓的索引器。在这种情况下,这些用于按键访问字典中的元素,因此:
dict[25]
会回来12
的。
现在,根据您想要做的是拥有一个 的键12
和一个 的值12
。不幸的是,您不能按键替换字典中的条目,因此您必须做的是:
if(dict.ContainsKey(25))
{
dict.Remove(25);
}
if(!dict.ContainsKey(12))
{
dict.Add(12, 12);
}
注意:在您提供的值中,已经有一个键值对12
作为其键,因此不允许您添加12,12
到字典中,否则if(!dict.ContainsKey(12))
会返回 false。
您不能替换第一行,12, 12
因为有另一个键值对 12 作为它的键。而且你不能在字典中有重复的键。
无论如何,你可以做这样的事情:
Dictionary<int, int> myDictionary = new Dictionary<int, int>();
myDictionary.Add(25, 12);
myDictionary.Add(24, 35);
//remove the old item
myDictionary.Remove(25);
//add the new item
myDictionary.Add(12, 12);
编辑:如果您要保存一些 x,y 位置,我建议您创建一个名为 Point 的类并使用List<Point>
. 这是代码:
class Point
{
public double X {get; set;}
public double Y {get; set;}
public Point(double x, double y)
{
this.X = x;
this.Y = y;
}
}
然后:
List<Point> myList =new List<Point>();
myList.Add(new Point(25, 13));
In Dictionaries, the keys must be unique.
In case the key need not be unique, you could use a List<Tuple<int, int>>
or List<CustomClass>
with CustomClass
containing two integer fields. Then you may add or replace the way you want.