文字列の配列をパラメーターとして受け取り、文字列のコレクションでもあるコレクション プロパティに対してクエリを実行するメソッドがあります。そのプロパティが、パラメーターとして渡された文字列配列内の値の 1 つを持っている場合は、それを返す必要があります。
これが私のコードです:
public IEnumerable<BlogPost> GetAll(string[] tags,
bool includeUnapprovedEntries = false) {
foreach (var tag in tags) {
foreach (var blogPost in GetAll(includeUnapprovedEntries).
ToList().Where(x => x.Tags.Any(t => t == tag))) {
yield return blogPost;
}
}
}
ノート:
完全なコードは次のとおりです。
これは機能しますが、正しくないようです。いくつかの拡張メソッドを使用してこれを改善できたかもしれませんが、何がトリックを実行し、この実装を正しくするかを理解できませんでした。
何か案が?