Tjenare.
Jag har en uppgift där jag ska skapa en loggbok som innehåller en lista samt vektor..
Jag tror att jag har fått till allt rätt så okej, men har bara ett litet problem kvar.
När jag ska ta bort saker ur listan...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Loggboken
{
class Program
{
static void Main(string[] args)
{
List<string[]> loggbok = new List<string[]>(); // Min lista som innehåller en string variabel
string[] post = new string[2]; // Min array med 2 element
post[0] = "Titel"; // Element 1 som innehåller Titeln
post[1] = "Inlägg"; // Element 2 som innehåller Inläggettime(); // Här anropas min metod "Time" som skriver ut datum och tid
bool isRunning = true; // Sant eller falskt
while (isRunning) // While loop som går hela tiden tills det blir falskt
{DoS(); // Här anropar jag min metod "DoS" som skriver ut mina menyval
int nr; // int variabel
int.TryParse(Console.ReadLine(), out nr); // Felhantering utav variabelnswitch (nr) // Switch sats som innehåller varibelnamnet "nr"
{
case 1:
Console.WriteLine("Skriv en titel till ditt inlägg: ");
post = new string[2]; //
post[0] = Console.ReadLine(); // Här skriver du in titelnamnet så att den hamnar i Post[0]
Console.WriteLine("Skriv ett inlägg");
post[1] = Console.ReadLine(); // Här skriver du in inlägget som hamnar i Post[1]
loggbok.Add(post); // Här Läggs alla elementen ihop. I detta fall Post[0] + post[1]
break;
case 2:
Console.WriteLine("\nHär är dina inlägg i loggboken:\n ");
foreach (string[] text in loggbok)
{Console.WriteLine("Inlägg: {0} " + "\n\t{1}", text[0], text[1]);
time();}
break;
case 3:
Console.WriteLine("Skriv in ett ord för att söka bland dina inlägg");
string keyWord = Console.ReadLine(); // Här skriver vi in ett ord och sparar det i variabeln keyWord
foreach (string[] text in loggbok) // Foreach loop som går igenom loggboken
{
if (post[0].Contains(keyWord) || post[1].Contains(keyWord)) // if sats. Om Post[0] ELLER Post[1] innehåller "keyword" Alltså det vi sökte efter
{
Console.WriteLine("\nTitel: " + text[0] + "\nInlägg: " + text[1]); // Här skrivs det ut Titeln + vårt inlägg
time(); // Här Anropas min metod "time" som innehåller Datum och tid
}}
break;
case 4:
isRunning = false;
// Här avbryts loopen då isRunning blir falskt
break;
case 5:
ErAse(post);break;
default:
Console.WriteLine("Välj mellan 1-4!"); // Trycker du på nånting annat än 1-4 så får du upp detta
break;
}}
}
static void DoS () // Metod Som heter DoS och som innehåller menyvalen
{Console.WriteLine("Välkommen till loggboken");
Console.WriteLine("[1]Skriv ett inlägg"); // Tryck 1 så skriver du ett inlägg
Console.WriteLine("[2]Skriv ut alla inlägg"); // Tryck 2 så skriver du ut alla inlägg
Console.WriteLine("[3]Sök efter inlägg");
Console.WriteLine("[4]Avsluta");
Console.WriteLine("[5]Ta bort inlägg"); // Tryck 3 så söker du efter inlägg via ett ord}
static void time() // Metod för datum och tid
{
DateTime time = DateTime.Now; // Gör så att man kan se datum och tid
Console.WriteLine("\tDatum och tid: " + time); // Skriver ut datum och tid}
static void ErAse(string[] x) // Ta bort inlägg
{
for (int i = 0; i < x.Length; i++)
x[i] = null;}
}
}
Om jag skriver 2 st inlägg och sedan väljer att ta bort dom så tas det senaste bort men ej det första... kommer verkligen inte på hur det är jag ska göra.. har lixom testat flera olika grejer men det blir bara skräp utav att !! Tacksam för alla tips och trix =)