我需要有关如何在字符串中存储内容然后通过菜单显示它的帮助。当我尝试将值保存到switch语句时,即使我将字符串放在switch语句之外,它也不会保存它。我还需要知道如何以后清理字符串,所以程序重置自己。 这就是我到目前为止所做的事情:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ryggsäcken_NTI_Uppgift2
{
class Program
{
static void Main(string[] args)
{
bool isRunning = true;
while(isRunning)
{
Console.WriteLine("\n\tVälkommen till ryggsäcken! vänligen välj ett av dessa val med en siffra.");
Console.WriteLine("\t[0]För en kort Instruktion till hur detta program fungerar, välj siffra 0");
Console.WriteLine("\t[1]För att spara föremål i ryggsäcken, välj siffra 1");
Console.WriteLine("\t[2]För att visa vad som ligger i ryggsäcken, välj val 2 ");
Console.WriteLine("\t[3]För att rensa ryggsäcken välj val 3 ");
Console.WriteLine("\t[4]För att avsluta, välj siffra 4");
Console.Write("\tVälj en siffra: ");
int menyVal = Convert.ToInt32(Console.ReadLine());
string item ="";
//Använda menyvalet med if eller switch
switch (menyVal)
{
case 0:
{
//Anvisningar till användaren
Console.WriteLine("Detta program hjälper dig att spara dina föremål som du vill lägga i ryggsäcken. För att spara ett föremål, vänligen välj val 1. För att öppna ryggsäcken och visa vad som är sparat välj val 2. För att rensa all data som sparats i ryggsäcken, välj då val 3. För att avsluta programmet, välj 4");
break;
}
case 1:
{
//Spara användarens föremål
Console.Write("skriv vad föremålet heter för att spara det i ryggsäcken: ");
item = Console.ReadLine();
break;
}
case 2:
{
//visa vad som ligger sparat i ryggsäcken
Console.WriteLine("Detta ligger just nu i ryggsäcken(visas inget är den tom): ");
Console.Write(item);
break;
}
case 3:
{
//Rensa ryggsäcken
Console.WriteLine("Rensar ryggsäcken... Nu kan du börja om från början igen.");
break;
}
case 4:
{
//Avsluta programmet
Console.WriteLine("Ryggsäcken stängs, Progammet avslutas. Hoppas du är nöjd, Hejdå!");
isRunning = false;
break;
}
default:
{
// med uppmaningen att skriva 0 - 4
Console.WriteLine("Du måste välja en siffra mellan 0-4!");
break;
}
}
}
}
}
}
答案 0 :(得分:3)
您需要将string item
初始化行放在while(running)
循环之外:
bool isRunning = true;
string item = "";
while(isRunning)
{
...
}
否则每次迭代循环重新声明并重新初始化item
。