Hjälp med sökfunktion i C#
Behöver hjälp med den här koden, den fungerar förutom att sökningsfunktionen strular...har gjort om och ändrat några gånger men jag förstår inte felet.
Dels så hittar den bara det senast skriva inlägget och skriver ut "Din sökning misslyckades" även om jag vet att ett inlägg ska finnas, den skriver dessutom ut det lika många gånger som det finns inlägg i loggboken.
Dvs: Skriv tre inlägg. Det senaste inlägget är sökbart. De andra två hittas inte och den skriver då ut "Din sökning misslyckades" tre gånger(lika många gånger som det finns inlägg i loggboken) Tips och hjälp?
class Program
{
static void Main(string[] args)
{
List<string> loggBok = new List<string> { };
DateTime tiden = DateTime.Now;
Console.WriteLine(tiden);
string titel = "";
string logg = "";
string inlagg = "";
bool isRunning = true;
while (isRunning)
try
{
{
Console.WriteLine("\nVälkommen till loggboken!");
Console.WriteLine("[1] Skriv nytt inlägg i loggboken");
Console.WriteLine("[2] Sök inlägg i loggboken");
Console.WriteLine("[3] Skriv ut alla loggar");
Console.WriteLine("[4] Avsluta programmet");
Console.Write("\nGörval i menyn: ");
int menyVal = Convert.ToInt32(Console.ReadLine());
switch (menyVal)
{
case 1:
Console.Write("Skriv en titel på ditt inlägg: ");
titel = Console.ReadLine();
Console.Clear();
Console.WriteLine("Skriv ditt inlägg: ");
Console.WriteLine(tiden);
Console.WriteLine(titel);
inlagg = Console.ReadLine();
logg = tiden + "\n" + titel + "\n" + inlagg;
loggBok.Add(logg);
break;
case 2:
Console.WriteLine("Skriv in ett sökord");
var keyword = Console.ReadLine();
foreach (var inlägg in loggBok)
{
if (inlagg.Contains(keyword))
{
Console.WriteLine(logg);
}
else
{
Console.WriteLine("Din sökning misslyckades... ");
}
}
break;
case 3:
Console.WriteLine("De här loggarna finns i loggboken\n ");
foreach (string loggboken in loggBok)
{
Console.WriteLine(loggboken);
}
Console.WriteLine("Tryck på valfri tangent för att återgå till menyn...");
Console.ReadKey();
break;
default:
Console.WriteLine("Gör ett val i menyn...");
break;
case 4:
return;
}
}
}
catch
{
Console.WriteLine("Nu blev det fel, gör ett val i menyn..");
}
}
}
}