良い一日、比較は行く障害のあるC#の辞書<文字列、文字列[]>すべての
私は、Dictionary<String, String[])>
を持っているようなキー=>値の例では、次の:
{ "Eten/drinken", new string[] { "canteen", "mcdonald's", "mimi" } }
私は比較する必要があります
if (categories.Any(x => x.Value.Contains(part))) {
category = categories.FirstOrDefault(x => x.Value.Contains(part)).Key;
}
一のシナリオpart = "mcdonald's veghel veghel"
、辞書値との比較に戻ってくることができる:辞書の値のいずれかの文字列part
false
。
なぜ偽ですか? "mcdonald's veghel veghel"
にはmcdonald's
が含まれており、ゼロスペース比較が必要な方法で行われます。
それらのどれもが、 '"マクドナルドが含まれていないので:与えられた値はx.Valueのアイテム/ sのが含まれているので、あなたは次のようにクエリを変更する必要があり、一方、残念ながら何の
x.Value
は、与えられた文字列が含まれていることはありませんveghel veghel "'部分文字列です。 – zerkms*なぜそれが間違っているのですか? - まあ、あなたは ''マクドナルドのveghel veghel ''を '{" canteen "、" mcdonald's "、" mimi "}'と比較しました。値に 'part'変数の単語が含まれているかどうかを比較するには、' 'mcdonald's veghel veghel ''を '{" mcdonald's、 "veghel"} 'に分割してから、それらは辞書の配列に存在します。 –
面白いことに、これは実際に私のコードで前にしたことですが、あまりにも邪悪であると思っていました。私のことを明確にしてくれてありがとう! – MwBakker