C# In Array nach einem Wort suchen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

string[] fruits = new string[9];
float[] prices = new float[9];

string input = "orange";

for (int i = 0; i < fruits.Length; i++)
{
if(input == fruits[i])
{
Was auch immer du dann machen willst
}
}


sorry lies im kommentar

sssssss  08.01.2016, 16:21

Ich hab was falsch gelesen das ganze kommt gleich, Sorry :D


static void Main(string[] args)
{
string[] fruits = new string[10] {"Orange", "Apfel", "Erdnuss", "Apfel", "Banane", "Orange", "Erdnuss", "Banane","Kiwi", "Orange"};
float[] prices = new float[10] {1.90f, 1.80f , 1f, 1.80f, 1.50f, 1.90f, 1f, 1.50f, 2f, 1.90f};

string input = "Orange";

float R = Rückgabe(fruits, prices, input);

Console.WriteLine(R);
Console.ReadKey();



}
static float Rückgabe(string[]fruits, float[]prices, string input)
{
float price = 0;

for (int i = 0; i < fruits.Length; i++)
{
if(input == fruits[i])
{
price = prices[i];

return price;
}
}

return price;
}

0
DerEidgenosse 
Fragesteller
 09.01.2016, 14:39
@sssssss

Danke vielmal mir ist ein kleines Lämpchen aufgeleuchtet :D

Aber ich habe noch eine Frage :)

Danke im Voraus!

Ich habe jetzt das ganze so gemacht, dass wenn es keinen passenden Artikel hat es ausgibt: keine Artikel gefunden. Jedoch tut es das jetzt 9 mal ausgeben (Das 1. Mal wird es ja richtig angezeigt also eigentlich macht die Schleife das 10 mal). Wie stoppt die Schleife?

Das selbe Problem habe ich bei einer anderen Funktion wo es alle Früchte auflisten soll.

Ich habe gedacht ich könnte schreiben:

for (int i = 0; i <= früchtearray.Length; i++)

Aber das funktioniert dann leider nicht.

So siehst aus wenn ich nach dem Apfel suche:

Frucht: Apfel     Preis: 1.5
Keine Artikel gefunden.
Keine Artikel gefunden.
Keine Artikel gefunden.
Keine Artikel gefunden.
...
0
Copyyy  12.01.2016, 18:08
@DerEidgenosse

Irgendwas ist bei dir im Code falsch. Wenn du wirklich i <= früchtearray.Length hast, bekommst du, aus wohl offensichtlichen Gründen, eine IndexOutOfRangeException (wenn du es "richtig" machst)

0
sssssss  31.01.2016, 10:00
@Copyyy

Mach eine if Abfrage mit einem Bool wert der auf False gesetzt wird sobald das erste abgelaufen ist

0