Я пытаюсь создать простую рюкзачную программу. Это задание для школы, и я почти закончил, за исключением того, что не могу заменить элемент в своем рюкзаке на новый.C# - Замена элемента в рюкзаке
Мое предположение, почему он может не работать, заключается в том, что я не могу заменить item
, потому что он находится в глобальном масштабе, но я понятия не имею, как его исправить. Вот код:
static void Main(string[] args)
{
bool isRunning = true;
while (isRunning)
{
Console.WriteLine("\n\tWelcome to the backpack!");
Console.WriteLine("\t[1]Add an item");
Console.WriteLine("\t[2]Show contents");
Console.WriteLine("\t[3]Clear contents");
Console.WriteLine("\t[4]Exit");
Console.Write("\tChoose: ");
int menyVal = Convert.ToInt32(Console.ReadLine());
string item;
item = "Empty space";
switch (menyVal)
{
case 1:
Console.WriteLine("\n\tContents of backpack:");
Console.WriteLine("\n\t" + item);
Console.WriteLine("\n\tWhat do you want to replace " + item + " with?");
item = item.Replace(item, Console.ReadLine());
Console.WriteLine("\n\tYou have packed " + item + " in your backpack");
break;
case 2:
Console.WriteLine("\n\tContents of backpack:");
Console.WriteLine("\n\t" + item);
Console.WriteLine("\n\tPress any key...");
Console.ReadKey();
break;
case 3:
item = "Tom plats";
Console.WriteLine("\n\tYou have emptied the backpack!");
break;
case 4:
isRunning = false;
break;
default:
Console.WriteLine("Incorrect input!");
break;
}
}
}
Любые идеи о том, как исправить это? Советы очень ценятся! Спасибо!
Вы пробовали отладки кода, чтобы увидеть, что на самом деле происходит? Пройдите через каждую строку и наблюдайте за переменными. –
Когда вы нажимаете 1 в меню, пользователю предлагается ввести то, что должно заменить строку, хранящуюся в «элементе». Однако он не совпадает с первым объявлением «Пустое пространство». – dumfuq
Поскольку 'item' является просто строкой, вы можете назначить его просто' item = Console.ReadLine(); 'вместо использования' item.Replace(); ' –