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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren