Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

C sharp - einen Element aus liste 1 in liste 2 finden

Mitglied: KaiserQQ7

KaiserQQ7 (Level 1) - Jetzt verbinden

23.08.2011 um 12:57 Uhr, 3157 Aufrufe, 20 Kommentare

Hallo,

ich habe folgende Code

public static void finden()
{

for (int i = 0; i < list_1.Count(); i++)
{


for (int j = 0; j < list_2.Count(); j++)
{
if (list_1[i] == list_2[j]) MessageBox.Show(list_1[i] );
}
}
}


die beide listen sind shon defeniert und haben auch Elemente.(habe ich sie in dieser stelle auch mit MessageBox.Show überprüft)
und das Problem ist es, dass nur der erste Element gefunden wird. Den Rest kann die If-Anweisung nicht treffen??
hat jemand eine Idee??

Gruß
Mitglied: noxcry
23.08.2011 um 13:45 Uhr
Zitat von KaiserQQ7:
Hallo,

ich habe folgende Code

public static void finden()
{

for (int i = 0; i < list_1.Count(); i++)
{


for (int j = 0; j < list_2.Count(); j++)
{
if (list_1[i] == list_2[j]) MessageBox.Show(list_1[i] );
}
}
}


die beide listen sind shon defeniert und haben auch Elemente.(habe ich sie in dieser stelle auch mit MessageBox.Show
überprüft)
und das Problem ist es, dass nur der erste Element gefunden wird. Den Rest kann die If-Anweisung nicht treffen??
hat jemand eine Idee??

Gruß

Das klingt für mich so, als ob in list_2 nur ein Element vorhanden ist.
Weil wenn nur ein Element drinnen ist dann verlässt er die zweite for-Schleife nach dem ersten Element wieder.
lg
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 14:04 Uhr
aber wenn ich diese Liste in MessageBox.Show + schleife rein tue dann bekommen alle Elemente ..
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 14:24 Uhr
willst du, dass wenn das if true ist, dass er bei liste_1 ein element weiter geht?
oder nicht?

weil:

wenn du die schleifen verschachtelst, dann bleibt er beim ersten vor mit i auf 0 und läuft aber beim 2. for alle elemente von liste_2 durch....
wenn du das halt meinst mit dem ersten element....
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 14:37 Uhr
ja das wollte ich

ich habe das so erweitert mit "break" wenn if true ist aber ohne ERfolg:

public static void finden()
{
for (int i = 0; i < list_1.Count(); i++)
{
for (int j = 0; j < list_2.Count(); j++)
{
if (list_1[i] == list_2[j])
{
MessageBox.Show(list_1[i] );
break;
}
}
}
}
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 14:41 Uhr
und wenn einfach keine elemente mehr in list_1 sind die mit list_2 übereinstimmten??
lg
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 14:43 Uhr
list_1 ist ein Teilmenge von liste_2. also muss ein Ergebniss liefern sonst ERR.

lg
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 14:49 Uhr
Zitat von noxcry:
willst du, dass wenn das if true ist, dass er bei liste_1 ein element weiter geht?
oder nicht?

weil:

wenn du die schleifen verschachtelst, dann bleibt er beim ersten vor mit i auf 0 und läuft aber beim 2. for alle elemente von
liste_2 durch....
wenn du das halt meinst mit dem ersten element....


was kann ich tun um ich zu den nächsten element zu kommen also list_1[i]
hast eine andere alternative statt break; ??
Bitte warten ..
Mitglied: 64748
23.08.2011 um 14:49 Uhr
Hallo zusammen,

mir fällt hier eines auf, Du musst bei der Fehlersuche unterscheiden, entweder werden die Schleifen nicht richtig durchlaufen, oder die if-Anweisung funktioniert nicht.

Den ersten Fall testest Du indem Du anstatt der if-anweisung die Werte für i und j ausgeben lässt. Da sollten dann Zahlenpaare der Form (0,0),(0,1),(0,3)....(n,m) rauskommen.

Den zweiten Fall, also das Funktionieren der if-Anweisung test Du mit einem Fall, der auf jeden Fall wahr ist. Du lässt uns im unklaren, welchen Datentyp die Listenelemente haben, von daher ist es schwer zu durchschauen. Allerdings wird die if-Anweisung bei selbstdefinierten Datentypen u.U. nicht funktionieren.

Markus
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 14:54 Uhr
welchen Datentyp die Listenelemente haben,

static List<string> list_1 = new List<string>();
static List<string> list_2 = new List<string>();
Bitte warten ..
Mitglied: 64748
23.08.2011 um 14:59 Uhr
Ich kenne C# nicht, wohl aber C und C++, bei beiden kann man Strings nicht mit == vergleichen, sondern mit strcmp. Bei C++ geht's dann wenn man den == Operator überlädt.

Markus
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 15:08 Uhr
doch in c# kann man strings direkt vergleichen...
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 15:10 Uhr
also das geht aber ich bleibe nur bei dem ersten element ich weiß nicht wie ich weiter gehe.
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 15:11 Uhr
also, wenn du in der zweiten schleife ein break nach dem if verwendest (falls du überhaupt ins if kommst, weil wie gesagt ist die frage, ob da noch identische elemente sind...), dann bricht er die aktuelle schleife ab und geht wieder in die erste und erhöht i um 1....
Bitte warten ..
Mitglied: 64748
23.08.2011 um 15:11 Uhr
Hast Du denn nun getestet, ob die Schleifen korrekt durchlaufen werden?

Markus
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 15:13 Uhr
eben, es ist die frage wie viele elemente sich in beiden listen befinden....
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 15:19 Uhr
Zitat von noxcry:
eben, es ist die frage wie viele elemente sich in beiden listen befinden....


list_1 => 12
list_2 => 90
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 15:28 Uhr
hast du mal händisch mittels breakpoint geschaut, ob da noch gleiche elemente drinnen sind?
Bitte warten ..
Mitglied: 64748
23.08.2011 um 15:29 Uhr
@KaiserQQ7, wenn Du möchtest, dass Dir hier jemand hilft, den Fehler in Deinem Programm zu finden, dann poste bitte vollständige Sätze mit Deinen Gedankengängen zur Lösung des Problems. Mit Deinen Stichwortsammlungen kann hier keiner was anfangen.

Markus
Bitte warten ..
Mitglied: noxcry
23.08.2011 um 15:30 Uhr
Zitat von 64748:
@KaiserQQ7, wenn Du möchtest, dass Dir hier jemand hilft, den Fehler in Deinem Programm zu finden, dann poste bitte
vollständige Sätze mit Deinen Gedankengängen zur Lösung des Problems. Mit Deinen Stichwortsammlungen kann hier
keiner was anfangen.

Markus

da muss ich dir zustimmen, es was sehr schwer zu erkennen, was du wolltest...
Bitte warten ..
Mitglied: KaiserQQ7
23.08.2011 um 15:57 Uhr
ich habe jetzt die beide listen gleich gemacht und ich habe herausgefunden dass alle elemente außer der ersten mit minus Zeichen in der zeite Liste kommt (ich habe die längere geschaut). ich schaue mal nach wo das herkommt villt ist das eine Leerzeichen.
Bitte warten ..
Ähnliche Inhalte
Entwicklung

C sharp Übergabeparameter aus Liste wählbar machen

Frage von MartinADEntwicklung2 Kommentare

Hallo, ich beschäftige mich Hobby-mäßig mit der Programmierung, also schon mal Entschuldigung wenn sich meine Fragen etwas dilettantisch lesen. ...

C und C++

C-sharp List verschiedene Bedingungen

Frage von YanmaiC und C++5 Kommentare

Hallo liebe Administratoren, ich habe eine Liste vom Typ eines Objektes. Diese Liste wird (de)serialisiert, um die Daten zu ...

IDE & Editoren

IDE für C-Sharp und C++ auf Windows

gelöst Frage von BugdroidIDE & Editoren8 Kommentare

Hallo, Ich nutze derzeit Visual Studio, aber auf Dauer ist es mir etwas zu Ressourcenfressend und für meine Zwecke ...

Batch & Shell

PowerShell - Finden eines Array Elements

gelöst Frage von derhoeppiBatch & Shell2 Kommentare

Hallo, es gibt Sachen, die man schon mehrmals getan hat, aber es will einfach nicht funktionieren. Ich habe ein ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 1 TagSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 1 TagDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 1 TagWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 2 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Gäste-WLAN durch DD-WRT AP nach einem MikroTik Routerboard
Frage von NukolarLAN, WAN, Wireless16 Kommentare

Hallo, wie der Titel schon sagt möchte ich gerne ein Gäste-WLAN innerhalb eines bestehenden LANs einrichten. Dass die Gäste ...

DSL, VDSL
DSL Monitoring Tool - Quick and dirty?
Frage von george44DSL, VDSL15 Kommentare

Liebe Gemeinde, ich suche ein einfaches und vor allem schnell zu installierendes Monitoring-Tool zur kontinuierlichen Dokumentation (nur) der Internetanbindung. ...

Exchange Server
Outlook findet Postfach nicht
Frage von MaximaxExchange Server11 Kommentare

Hallo, und zwar haben wir auf der Arbeit ein kleines (großes) Exchange 2016 Problem. Exchange meldete gestern, dass die ...

Informationsdienste
Probleme auf dem Server
Frage von LangeLangeInformationsdienste9 Kommentare

Hallo zusammen, ich betreibe die Seite Keine Werbelinks. In der Analyse stellen wir fest, dass die Ladezeit in der ...