Добрый день всем,сравнение идет неисправна C# Dictionary <String, String []>
У меня есть Dictionary<String, String[])>
, с ключом => Пример значения, как следующее:
{ "Eten/drinken", new string[] { "canteen", "mcdonald's", "mimi" } }
Мне нужно сравнить строка part
с одним из значений словаря:
if (categories.Any(x => x.Value.Contains(part))) {
category = categories.FirstOrDefault(x => x.Value.Contains(part)).Key;
}
в одном сценарии part = "mcdonald's veghel veghel"
, что делает сравнение с значением словаря вернуться false
.
Почему это неверно? "mcdonald's veghel veghel"
действительно содержит mcdonald's
, и сравнение нулевого пространства действительно идет так, как должно.
Поскольку ни один из них не содержит '" Макдональдс veghel veghel "подстроки. – zerkms
* Почему это ложь? * - ну, вы сравнили «вегвель veghel mcdonald» с '{« столовая »,« mcdonald's »,« mimi »}'. Если вы хотите сравнить, содержит ли значение какое-либо слово из переменной 'part', вам нужно разделить« veghel veghel »' mcdonald's '' на '{" mcdonald's "," veghel "}', а затем проверить, все ли они существуют в массиве словаря. –
Забавно, это на самом деле то, что я делал раньше в своем коде, но думал, что это будет слишком коварно. Благодарю за то, что вы все поняли для меня! – MwBakker