如何替换字典中的int值

本文关键字:int 字典 何替换 替换 | 更新日期: 2023-09-27 18:10:12

我想知道如何在c#中替换字典中的int值。这些值看起来像这样:

  • 25日12
  • 24日35
  • 34岁的
  • 12
  • 34岁12

我想知道如何只替换一行。例如,如果我想将第一行替换为新值12,12。并且它不会替换字典中任何其他的'12'值

如何替换字典中的int值

Dictionary<TInt, TValue>使用了所谓的索引器。在本例中,它们用于按键访问字典中的元素,因此:

dict[25]将返回12

现在,根据您想要做的是有一个键为1212的值。不幸的是,您不能用键替换字典中的条目,因此必须这样做:

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);

EDIT:如果你要保存一些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));

在字典中,键必须是唯一的。

如果键不需要唯一,您可以使用List<Tuple<int, int>>List<CustomClass>, CustomClass包含两个整数字段。