長い文字列のリスト ( big
) を取得し、他のリスト ( ) の最後の数文字を含む別のリストでフィルタリングする次の方法で問題が発生していますsmall
。
var big = new List<string> {
"0000", "1111", "2222", "3333", "3333", "4444", "5555"
};
var small = new List<string> {
"11", "22", "33", "33", "44"
};
var result = from b in big
from s in small
where b.EndsWith(s)
select b;
期待される結果は
"1111", "2222", "3333", "3333", "4444"
私が得ている結果は
"1111", "2222", "3333", "3333", "3333", "3333", "4444"
なぜそれが起こっているのかはわかりますが、それを止める方法は思いつきません。何か案は?