如何仅收集选定的索引项';C#中字典中的s值?
我有一本包含线和点类的字典 我在行列表中找到的每一行,都会在第一项中添加单词,并在第二项中添加行内的点 我想收集一行中的每个点,然后在字典中每隔一行重复一次如何仅收集选定的索引项';C#中字典中的s值?,c#,dictionary,C#,Dictionary,我有一本包含线和点类的字典 我在行列表中找到的每一行,都会在第一项中添加单词,并在第二项中添加行内的点 我想收集一行中的每个点,然后在字典中每隔一行重复一次 public void collectingAllLines() { Dictionary<Line, Dot> TempDotsInLines = new Dictionary<Line, Dot>(); foreach (Line line in
public void collectingAllLines()
{
Dictionary<Line, Dot> TempDotsInLines = new Dictionary<Line, Dot>();
foreach (Line line in LinesList)
{
// Each line contains minimum 2 dots
foreach (Dot dot in DotsList)
{
if(line.DotIsOntheLine(dot) == true)
{
TempDotsInLines.Add(line, dot);
}
}
}
for (int i = 0; i < LinesList.Count; i++)
{
foreach(Dot dots in TempDotsInLines[Line[i]])
{
//I am trying to collect all dots in one line from TempDotsInLines dictionary.
// I want to turn in all lines in TempDotsInLine dictionary
}
}
}
public void collectingAllLines()
{
Dictionary TempDotsInLines=新字典();
foreach(行列表中的行)
{
//每行至少包含2个点
foreach(点列表中的点)
{
if(line.DotIsOntheLine(dot)==true)
{
TempDotsInLines.Add(行、点);
}
}
}
对于(int i=0;i
您需要一个集合类型,因为dictionary类不支持同一个键的多个值
例如,您可以使用字典
要添加点,您需要在第一次访问每行时创建一个列表:
if(!TempDotsInLines.TryGetValue(line,out List dotList))
TempDotsInLines[line]=dotList=new List();
dotList.Add(点);
您需要一个集合类型,因为dictionary类不支持同一个键的多个值
例如,您可以使用字典
要添加点,您需要在第一次访问每行时创建一个列表:
if(!TempDotsInLines.TryGetValue(line,out List dotList))
TempDotsInLines[line]=dotList=new List();
dotList.Add(点);
您将不能在字典中多次放置同一行。字典不是你想在这里使用的
这将有助于了解更多的代码或更好地理解最终目标。但我认为,通过在line类中创建一个列表
公共属性,您可以得到想要的东西。然后,您可以通过这种方式添加匹配点来跟踪它们。您将无法在字典中多次放置同一行。字典不是你想在这里使用的
这将有助于了解更多的代码或更好地理解最终目标。但我认为,通过在line类中创建一个列表
公共属性,您可以得到想要的东西。然后你可以通过这种方式添加匹配点来跟踪它们