Je suis un peu coincé ici et je ne peux pas penser plus loin.Comparer toutes les valeurs d'une liste les unes par rapport aux autres
public struct CandidateDetail
{
public int CellX { get; set; }
public int CellY { get; set; }
public int CellId { get; set; }
}
var dic = new Dictionary<int, List<CandidateDetail>>();
Comment puis-je comparer chaque élément CandidateDetail contre d'autres éléments CandidateDetail dans le même dictionnaire de la manière la plus efficace? Exemple: Il y a trois clés pour le dictionnaire: 5, 6 et 1. Nous avons donc trois entrées. maintenant chacune de ces entrées clés aurait une liste associée. Dans ce cas, disons que chacun de ces trois nombres a exactement deux items CandidateDetails dans la liste associée à chaque clé. Cela signifie en d'autres termes que nous avons deux 5, deux 6 et deux 1 dans différentes ou dans les mêmes cellules. Je voudrais savoir:
si [5] .1stItem.CellId == [6] .1stItem.CellId => nous avons eu un succès. Cela signifie que nous avons un 5 et un 6 dans la même cellule if [5] .2ndItem.CellId == [6] .2ndItem.CellId => perfect. Nous avons découvert que les autres 5 et 6 sont ensemble dans une cellule différente. if [1] .1stItem.CellId == ...
Maintenant, j'ai besoin de vérifier le 1 aussi contre l'autre 5 et 6 pour voir si celui-ci existe dans les deux mêmes cellules précédentes ou non.
Une expression de Linq pourrait-elle aider? Je suis assez coincé ici ... Je ne sais pas ... Peut-être que je prends la mauvaise approche. J'essaie de résoudre la "paire cachée" du jeu Sudoku. :)
http://www.sudokusolver.eu/ExplainSolveMethodD.aspx
Merci beaucoup, Kave
Ceci sélectionne chaque paire deux fois (c1, c2) et (c2, c1) et sélectionne des paires où Candidate1 et Candidate2 sont le même objet (c1, c1). –
Oui, vous avez raison. J'ai changé le code, mais cela le rend beaucoup moins lisible. – svick
Salut, j'apprécie les réponses. Êtes-vous sûr que la troisième ligne est correcte? let candidate1 = kvp1.Value [i2] Ne devrait-il pas être plutôt [i1]? Sinon, il ne compile pas. Mais je n'obtiens aucun résultat une fois que tout ce code est stocké dans un test var énumérable. Ne semble pas trouver quoi que ce soit. Mais je dois admettre que je suis relativement nouveau à Linq. – Houman