Sökning i c#
Hej, jag är helt ny inom ämnet och går programmering 1. I den projektuppgift jag har så ska jag skapa en blogg med lite olika funktioner. Jag får dock inte till sökfunktionen i bloggen. När jag söker på nya inlägg som jag skrivit så hittar den aldrig nått. När jag söker på gamla inlägg så får jag alltid två svar. Hittat och inte hittat. Jag hoppas nån här kan hjälpa mig.
static void Main(string[] args)
{
//Här är listan
List<string[]> minaInlägg = new List<string[]> { };
//inläggen
string[] inlägg01 = new string[2];
inlägg01[0] = "Nu skriver jag bloggens första titel";
inlägg01[1] = "Nu skriver jag bloggens första inlägg";
minaInlägg.Add(inlägg01); //skickar inläggen till listan
string[] inlägg02 = new string[2];
inlägg02[0] = "Nu skriver jag bloggens andra titel";
inlägg02[1] = "Nu skriver jag bloggens andra inlägg";
minaInlägg.Add(inlägg02);
string[] inlägg03 = new string[2];
inlägg03[0] = "Nu skriver jag bloggens tredje titel";
inlägg03[1] = "Nu skriver jag bloggens tredje inlägg";
minaInlägg.Add(inlägg03);
//Här deklarerar jag sökordet som används senare
string sökOrd = ("");
string sökOrdTvå = ("");
//bool och while, bool är true för att programmet ska avslutas när användaren väljer false
bool progRun = true;
//while loop som gör att menyn visas tills användaren väljer att avsluta
while (progRun)
{
Console.Clear();
//inläggen
string[] inlägg = new string[2];
Console.WriteLine("\n\tHuvudmeny!");
//Menyval
Console.WriteLine(" ");
Console.WriteLine("\n\t[1]Skriv nytt inlägg");
Console.WriteLine("\n\t[2]Sök inlägg i bloggen");
Console.WriteLine("\n\t[3]Se alla inlägg");
Console.WriteLine("\n\t[4]Avsluta");
//Sparar användarens val och kör tryparse för att förhindra att programmet crashar om användaren t.ex skulle slå in en bokstav.
int valEtt;
Int32.TryParse(Console.ReadLine(), out valEtt);
//För att ta bort allt som användaren redan valt och göra det mindre rörigt.
Console.Clear();
//switch loop
switch (valEtt)
{
//Menyval 1, användaren skriver ett nytt inlägg
case 1:
string[] nyttInlägg = new string[2];
//Val av titel
Console.WriteLine("Ange titel");
//Sparar titeln i index 0
nyttInlägg[0] = Console.ReadLine();
//Användaren skriver inlägget
Console.WriteLine("Skriv inlägg");
//Sparar inlägget i index 1
nyttInlägg[1] = Console.ReadLine();
//Frågar användaren om hen vill spara inlägget
Console.WriteLine("Spara inlägg?");
Console.WriteLine("[1]Ja / [2]Nej");
//Tryparse för att förhindra crash
int spara;
Int32.TryParse(Console.ReadLine(), out spara);
//if loop vid som beror på användarens val
if (spara == 1)
{
//sparar inlägget
Console.WriteLine("\n\tInläggget har sparats");
minaInlägg.Add(nyttInlägg);
}
else
{
//inlägget sparas inte
Console.WriteLine("\n\tInlägget sparades inte");
}
break;
case 2:
Console.WriteLine("[1]Sök efter titlar");
Console.WriteLine("[2]Sök efter inlägg");
int valTvå;
Int32.TryParse(Console.ReadLine(), out valTvå);
if (valTvå == 1)
{
Console.Write("Ange sökord: ");
sökOrdTvå = Console.ReadLine();
for (int i = 0; i < minaInlägg[0].Length; i++)
{
//Om sökningen träffar eller inte
if (minaInlägg[i][0].Contains(sökOrdTvå)) // sökning i index 0
{
Console.Clear();
//träff
Console.WriteLine("\n\tDin sökning träffade en titel: " + sökOrdTvå);
Console.ReadLine();
}
else
{
Console.Clear();
Console.WriteLine("\n\tDin sökning träffade tyvärr inte en titel");
Console.ReadLine();
}
}
}
else if (valTvå == 2)
{
//användaren anger vad hen vill söka efter
Console.Write("Ange sökord: ");
//sökordet får ett värde
sökOrd = Console.ReadLine();
//sökningen
for (int i = 1; i < minaInlägg[i].Length; i++)
{
//Om sökningen träffar eller inte
if (minaInlägg[i][1].Contains(sökOrd)) // sökning i index 0
{
Console.Clear();
//träff
Console.WriteLine("\n\tDin sökning träffade ett inlägg " + sökOrd);
Console.ReadLine();
}
else
{
Console.Clear();
Console.WriteLine("\n\tDin sökning träffade tyvärr inte ett inlägg");
Console.ReadLine();
break;
}
}
}
else
{
Console.WriteLine("\n\tOgiltligt val");
}
break;
case 3:
foreach (var item in minaInlägg)
{
Console.WriteLine("\n\tTitel: " + item[0]); // Skriver ut resultet för sökningen
Console.WriteLine("\n\tInlägg: " + item[1]);
Console.WriteLine(" ");
}
Console.ReadLine();
break;
//Programmet avslutas när användaren väljer 4
case 4:
progRun = false;
break;
//Användaren har gjort ett ogiltigt val
default:
Console.WriteLine("\n\tAnvänd siffrorna 1-4");
break;
}
}
//Hej då hälsning
Console.WriteLine("\n\tTack för den här gången");
//För att programmet ska visa hej då hälsningen så används en readline.
Console.ReadLine();