C# 清单、字典还是别的什么?

C# 清单、字典还是别的什么?,c#,dictionary,argumentexception,C#,Dictionary,Argumentexception,我想在字典中保存一些坐标,但XPO应该在字典中保存两次或更多。 问题是出现了以下异常: ArgumentException:字典中已存在具有相同键的元素。 我怎样才能解决这个问题 我认为我可以使用列表或数组,但我需要一个键和一个值 在我将坐标保存在Dict(或其他东西)中之后,我想检查新坐标是否与现有坐标保持一定距离 XPO总是一样的: 有一个“图表”,我将一些块与不同的YPO放在一行中。 1.块:xPos=0,yPos=random 2.块:xPos=1,yPos=random … N块:


我想在字典中保存一些坐标,但XPO应该在字典中保存两次或更多。

问题是出现了以下异常:
ArgumentException:字典中已存在具有相同键的元素。


我怎样才能解决这个问题

我认为我可以使用列表或数组,但我需要一个键和一个值

在我将坐标保存在Dict(或其他东西)中之后,我想检查新坐标是否与现有坐标保持一定距离

XPO总是一样的:
有一个“图表”,我将一些块与不同的YPO放在一行中。
1.块:xPos=0,yPos=random
2.块:xPos=1,yPos=random

N块:xPos=80,yPos=random
n+1。块:xPos=0,yPos=20+随机

我有三次迭代,每放置80个块

对不起,我的英语不好:|
我希望您能理解。

您可以创建一个类(或结构)来保存和使用坐标,而不是字典。 该类可以有键和值属性,如果需要,还可以有其他字段。

您可以创建一个类(或结构)来保存和使用坐标,而不是字典。 该类可以有键和值属性,如果需要,还可以有其他字段。

您可以创建一个类(或结构)来保存和使用坐标,而不是字典。 该类可以有键和值属性,如果需要,还可以有其他字段。

您可以创建一个类(或结构)来保存和使用坐标,而不是字典。
该类可以有键和值属性,如果需要,还可以有其他字段。

您应该像列表一样保存值,其中位置包含:

public int X { get; set; }
public int Y { get; set; }

或者您可以使用C#中的另一个类/结构或一些第三个库(2d向量、点等),具体取决于您想在哪里使用它。:)

您应该保存类似列表的值,其中位置包含:

public int X { get; set; }
public int Y { get; set; }

或者您可以使用C#中的另一个类/结构或一些第三个库(2d向量、点等),具体取决于您想在哪里使用它。:)

您应该保存类似列表的值,其中位置包含:

public int X { get; set; }
public int Y { get; set; }

或者您可以使用C#中的另一个类/结构或一些第三个库(2d向量、点等),具体取决于您想在哪里使用它。:)

您应该保存类似列表的值,其中位置包含:

public int X { get; set; }
public int Y { get; set; }

或者您可以使用C#中的另一个类/结构或一些第三个库(2d向量、点等),具体取决于您想在哪里使用它。:)

或者您可以使用的
List
来存储
int
-
int
对的列表,而无需创建新类,也无需担心重复值:

.....
List<Tuple<int, int>> blocks = new List<Tuple<int, int>>();
blocks.Add(Tuple.Create(0, random));
blocks.Add(Tuple.Create(1, random));
.....
。。。。。
列表块=新列表();
blocks.Add(Tuple.Create(0,random));
blocks.Add(Tuple.Create(1,random));
.....

或者您可以使用的
List
来存储
int
-
int
对的列表,而无需创建新类,也无需担心重复值:

.....
List<Tuple<int, int>> blocks = new List<Tuple<int, int>>();
blocks.Add(Tuple.Create(0, random));
blocks.Add(Tuple.Create(1, random));
.....
。。。。。
列表块=新列表();
blocks.Add(Tuple.Create(0,random));
blocks.Add(Tuple.Create(1,random));
.....

或者您可以使用的
List
来存储
int
-
int
对的列表,而无需创建新类,也无需担心重复值:

.....
List<Tuple<int, int>> blocks = new List<Tuple<int, int>>();
blocks.Add(Tuple.Create(0, random));
blocks.Add(Tuple.Create(1, random));
.....
。。。。。
列表块=新列表();
blocks.Add(Tuple.Create(0,random));
blocks.Add(Tuple.Create(1,random));
.....

或者您可以使用的
List
来存储
int
-
int
对的列表,而无需创建新类,也无需担心重复值:

.....
List<Tuple<int, int>> blocks = new List<Tuple<int, int>>();
blocks.Add(Tuple.Create(0, random));
blocks.Add(Tuple.Create(1, random));
.....
。。。。。
列表块=新列表();
blocks.Add(Tuple.Create(0,random));
blocks.Add(Tuple.Create(1,random));
.....


由于您将点存储在二维曲面中,并且希望进行最近点检测,因此我建议使用一个类似于四叉树的方法。这里是C#中四叉树实现的一个示例。

因为您将点存储在二维曲面中,并且希望进行最近点检测,所以我建议使用,例如四叉树。这里是C#中四叉树实现的一个示例。

因为您将点存储在二维曲面中,并且希望进行最近点检测,所以我建议使用,例如四叉树。这里是C#中四叉树实现的一个示例。

因为您将点存储在二维曲面中,并且希望进行最近点检测,所以我建议使用,例如四叉树。这里是C#中四叉树实现的一个示例。

是否要将多个
Y
值与一个
X
值关联?否。我要保存具有相同xposition的多个点。我认为您不需要
/
然后我需要一个键值关联,因为当我检查新街区是否与另一街区有一定距离时,我可以使用键来检查值。
点列表有什么问题吗?是否要将多个
Y
值与一个
X
值关联?否。我要保存具有相同位置的多个点。我想你不需要
/
然后我需要一个键值关联,因为当我检查新街区是否与另一街区有一定距离时,我可以使用键来检查值。
点列表有什么问题吗?是否要将多个
Y
值与一个
X
值关联?否。我要保存具有相同位置的多个点。我想你不需要
/
然后我需要一个键值关联,因为当我检查新街区是否与另一街区有一定距离时,我可以使用键检查值。
点列表有什么问题吗?是否要将多个
Y
值与一个
X
值关联?否。我要保存具有相同xposition的多个点。我想您不需要
/