C# Stringarry durchsuchen

Gast #4469185
Lesenswert?
• ▲
▼
Hallo an alle,

ich bin recht neu was das Programmieren angeht. Daher stehe ich nur vor 
einem Problem und hoffe das ich hier Hilfe bekomme.

Es geht darum, das ich eine List in txt form haben. In dieser Liste 
stehen 83000  7-Stellige Nummern untereinander. Ich habe mit meinem 
derzeitigen Programm, bereits das Programm eingelesen in einer Textbox 
mit multiline. Ich habe das eingelsenen Textfile in eine Stringarray 
gewandelt. Nun möchte ich gerne, dass das Programm das STringarray nach 
Nummern (strings) duchsucht die kleiner 7 Stellen sind, und die erste 
gefundenen in einer einzeiligen zweiten Textbox ausgibt.

Ich habe nun leider kein ansatz wie ich das bewerkstelligen soll. Ich 
hoffe ihr könnt mir weiterhelfen.

viele Grüße
Sebastian
Gast #4469205
Lesenswert?
• ▲
▼
Das finden der Wörter ist mit Linq recht einfach:
1
var words = from s in source where s.Length < 7 select s;
Dabei ist source dein string-Array. In dem IEnumerable<string> words 
sind dann alle Elemente aus deinem Array, die weniger als 7 Stellen 
haben.
Gast #4469291
Lesenswert?
• ▲
▼
Falls du nur den ersten Wert haben möchtest empfiehlt sich die 
ElementAt-Methode:
1
string firstWord = words.ElementAt(0);
Falls du alle Elemente mit einer Schleife durchlaufen willst, solltest 
du eine foreach-Schleife verwenden:
1
foreach(string word in words)
2
{
3
    //Dein Code für jedes Wort
4
}
Gast #4469294
Lesenswert?
• ▲
▼
Fuzzi59 schrieb:
> var words = from s in source where s.Length < 7 select s;

Dieser code stellt doch dann aber alle Nummern im Arry dar, die weniger 
als 7 Zeichen haben oder?

Wie bekäme man es hin nur den ersten Treffer darzustellen?
Macht man das dann mit firstname?


Grüße
Sebastian
Gast #4469303
Lesenswert?
• ▲
▼
Alternativ zum Erhalten des ersten Worts mit einer Länge kleiner als 7, 
kannst du auch folgenden Code nehmen:
1
string firstWord = source.First(word => word.Length < 7);
Hier erhälst du nur einen Wert zurück.
Gast #4469330
Lesenswert?
• ▲
▼
Fuzzi59 schrieb:
> Alternativ zum Erhalten des ersten Worts mit einer Länge kleiner
> als 7,
> kannst du auch folgenden Code nehmen:string firstWord =
> source.First(word => word.Length < 7);Hier erhälst du nur einen Wert
> zurück.

Das klingt für mich nach dem was ich suche, ergibt nur leider folgenden 
fehler:

Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in 
System.Core.dll aufgetreten.
Gast #4469333
Lesenswert?
• ▲
▼
Ich habe das nun so gemacht:

string firstWord = textarray.First(word => word.Length < 7);
FreePN.Text = firstWord;

textarray = Das Array mit den 83000 Nummern (alphanumerische nummern)
FreePN = EInzeilige Textbox die nur die erste nummer mit kleiner 7 
Zeichen ausgeben soll

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.