字典中数组内部的循环

本文关键字:循环 内部 数组 字典 | 更新日期: 2023-09-27 18:29:07

嗨,我有一个快速的问题,使用C#在字典中对象内的数组内循环最简单的方法是什么?字典包含组,组有一个名为标记的数组,我搜索了一个标记并返回了包含该标记的组列表我创建了一个解决方案,但当我应用它时,它返回了太多的替身。

    List<Programme> toReturn = new List<Programme>();
        // might need to ask getprogramme service to do the iteriation and retun a value
        foreach (Programme programme in programmes.Values)
        {
            if (message.Programme.Tags[0] != null)
            {
                int i;
                int u;
                foreach (KeyValuePair<string, Programme> entry in programmes)
                {
                    // for (i = 0; i < message.Group.Tags.Length; i++)
                    for (i = 0; i < entry.Value.Tags.Length; i++)
                    //foreach (string i in message.Group.Tags)
                    {
                        for (u = 0; u < message.Programme.Tags.Length; u++)
                        {
                            // Compare the Name of the entry to the Name in the message (string comparison)
                            if (entry.Value.Tags[i].Equals(message.Programme.Tags[u]))
                            {
                                // If we found the group, set the return value and then break from the loop
                                toReturn.Add(programme);
                                break;
                            }

                        }
                    }
                }
            }

字典中数组内部的循环

最简单的方法是使用LINQ:

var res = groups.Where(g => g.Value.Any(t => t.Equals("search_tag")));