如何仅收集选定的索引项';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类中创建一个
列表
公共属性,您可以得到想要的东西。然后你可以通过这种方式添加匹配点来跟踪它们