J'ai une liste de réponse qui a reçu des utilisateurs comme ci-dessous:
var ListFinalTrueAnswer = (from x in FilteredTrueReceivedAnswerList select (x.qu_Id, x.ans_Title)).ToList();
3 Réponses :
Créer un hashset avec les ID des questions de réponse vraies. (Pour obtenir une recherche rapide) que de filtrer votre liste à l'aide de HASHSET, P> var userAnswers = lstGetUserAnswerIndex.Where(x => trueAnswers.Contains((x._Qu_Id, x._Title)));
comment ça marche? Si vous avez raison, vous obtenez Hash de quasterid, pas par réponse
@Evilgenius Il n'y a pas de réponse nulle part où je peux voir.
moi aussi) alors c'est bizarre)
@Magnus J'ai besoin de comparer deux champs Quid et d'un titre à partir de deux liste avec chaque orcher. Un champ comparant ne résout pas mon problème.
@ O.Ahmadpoor Dans ce cas, utilisez une tuple de valeur avec les deux propriétés. J'ai mis à jour la réponse.
@Magnus mon projet C # n'a pas de définition pour tohashset ()
@ O.Ahmadpoor Peut-être que vous utilisez une version plus ancienne du cadre? Tohashset est défini: docs.microsoft.com/fr- US / DotNet / API / ... Mais vous pouvez également faire: nouveau hashset <(int, string)> (listfinaltrueAnswer.select (x => (x.qu_id, x.ans_title)); / code>
var userTrueAnswer = lstGetUserAnswerIndex.Where(w=> ListFinalTrueAnswer.Any(a=>a.qu_Id == w.qu_Id && a.ans_Title == w.ans_Title));
Lorsque j'utilise votre code, j'ai une erreur dans (A.Quid et w.ans_title). Erreur est la liste ne contient pas de défense pour qu_id
Peut-être que vous avez un peu de temps différent de w.qu_id et de w.ans_title. Peut-être que w._qu_id et w._title?
Non, il ne récupère pas de champ
Parce que votre champ est privé !!! Changez-le et le champ sera disponible est disponible
Premièrement, nous pouvons ajouter des getters publics à notre classe. C'est une meilleure façon de rendre les champs privés et d'accéder à leurs valeurs par des getters publics: Notre liste d'entrée factice des réponses: p> lstGetUserAnswerIndex.Where(x => ListFinalTrueAnswer2.Any(y => (y.qu_Id == x.Qu_Id) && (y.ans_Title == x.Title)))