Nested Dictionaries/ 06. Forum Topics - Софтуерен университет

Nested Dictionaries/ 06. Forum Topics - Софтуерен университет

+ Нов въпрос
VasilValchanov avatar VasilValchanov 556 Точки
Best Answer

foreach (var item in dic)
            {
                bool container = false;
                for (int i = 0; i < wantedTags.Length; i++)
                {
                    if (item.Value.Contains(wantedTags[i]))
                    {
                        container = true;
                    }

                }
                if (container)
                {
                    dicToPrint.Add(item.Key, item.Value);
                }
            }

Проблема е в този foreach ->

в този случай ако съответния топик съдържа таг3 от (таг1, таг2, таг3), container става на true и връщаш топик-а, а реално не трябва....

така ще сработи -> 

foreach (var item in dic)
            {
                bool container = true;
                for (int i = 0; i < wantedTags.Length; i++)
                {
                    if (!item.Value.Contains(wantedTags[i]))
                    {
                        container = false;
                    }

                }
                if (container)
                {
                    dicToPrint.Add(item.Key, item.Value);
                }
            }

Най-добре е да дебъгнеш и двата случая, ще ти стане много по ясно.

0
15/07/2017 16:56:13
keero avatar keero 1 Точки

Благодаря, колега, стана ми ясно сега :) 

 

0
alex_dimitrov2000 avatar alex_dimitrov2000 21 Точки

Някой може ли да помогне, защо на 8/10 теста изписва "Грешка по време на изпълнение" ?
Ето и кода: https://pastebin.com/9nFhfnFB

0
spzvtbg avatar spzvtbg 581 Точки

цикъла трябва да е в проверката -  if (currentKey.Contains(keyToFind))

0
alex_dimitrov2000 avatar alex_dimitrov2000 21 Точки

Много благодаря! Мина си със 100/100

0