2017-03-13 5 views
2

Ich habe bereits ein Programm, das die Gleichheit zwischen zwei Array von Textdatei zeigen kann und mein Problem ist, dass ich mehr als einen gleichen Wert habe und ich möchte nur einen Wert ist mit einem anderen übereinstimmen. Kann mir jemand dabei helfen?Matching hat mehr als einen Wert

Linie 2-Wert am linken sollten Spiel mit Linie 4 Wert auf der rechten Seite, aber die Ausgabe zeigen, die 13 auch MATCH-Leitung:

line 2 value on the Left should be match with line 4 value on the right but the output show that line 13 also match

hier sind meine Code

for (int i = 0; i <line.Length; i++) 
{ 
    for (int j = 0; j <lines.Length; j++) 
    { 
     if (line[i] == lines[j]) 
     { 
      found = true; 
      listBox3.Items.Add("PASS"); 
      break; 
     } 

    } 

    if (found == false) 
    { 

     listBox3.Items.Add("FAIL: line " + (i + 1)); 
    } 
    found = false; 
} 
+0

so wie möchten Sie mit diesem Fall umgehen? Möchtest du einfach weitere Übereinstimmungen ignorieren? –

+0

ich will nur das Ergebnis überprüfen Sie die Gleichheit Zeile für Zeile nach der Zeilennummer – zulhilmi

+0

Blick auf Ihren Code es genau tut. Es wird nach dem ersten Spiel nicht mehr überprüft. dann wird es zum nächsten Punkt in "line" gehen. das findet wieder eine Übereinstimmung mit 'lines [3]' in 'line [9]' –

Antwort

1

Sie können Linq verwenden:

var areEquals = array1.All(x => array2.Count(y => y == x) == 1); 
Verwandte Themen