#c# #visual-studio-2010 #console-application
#c# #visual-studio-2010 #консольное приложение
Вопрос:
Я справился со своей первоначальной проблемой, мне пришлось добавить разрыв; но теперь аукцион запрашивает дату товара, начальную цену и резерв, но по какой-то причине, когда я добавляю все это, а затем перехожу к поиску товара, там просто написано существующие аукционы: Аукцион как мне заставить его отображать название, еще раз извините за мою «наивность», но я добиваюсь своего:D кстати, большое вам спасибо за отличную помощь
{
case place_auction:
{
screen.DisplayMessage("Please Enter a title for your Auction Item");
string ItemName = Convert.ToString(Console.ReadLine());
screen.DisplayMessage("Enter a start price for your item:");
double startPrice = Convert.ToDouble(Console.ReadLine());
screen.DisplayMessage("Now enter your reserve price for your item:");
double reservePrice = Convert.ToDouble(Console.ReadLine());
screen.DisplayMessage("Enter the closing date for your auction:");
DateTime closeDate = Convert.ToDateTime(Console.ReadLine());
// creating the auction
Auction aucttion = new Auction(ItemName, startPrice, reservePrice, closeDate);
// auction is entering auction list.
auctionList.Add(aucttion);
Console.WriteLine("auction is now created :)");
Console.WriteLine("Auction details are as follows:");
Console.WriteLine("Item name" ItemName);
Console.WriteLine("The Starting Price" startPrice);
Console.WriteLine("The Reserve Price" reservePrice);
Console.WriteLine("Closing date of this auction" closeDate);
}
case browse_auction:
{
if (auctionList.Count > 0)
{
Console.WriteLine("Existing Auctions:");
foreach (Auction aucttion in auctionList)
{
Console.WriteLine("Auction");
}
}
else
{
Console.WriteLine(" No existing auction appearing on the system");
}
break;
}
case locate_auction:
{
screen.DisplayMessageLine("Insert Auction ID: ");
break;
}
case exit:
{
screen.DisplayMessageLine("");
screen.DisplayMessageLine("System Shutting Down!");
userExit = true;
break;
}
default:
{
screen.DisplayMessageLine("");
screen.DisplayMessageLine("Selection was not recognisable, please try again");
break;
}
}
Комментарии:
1. Можете ли вы сообщить нам о сообщении об ошибке, которое вы получаете из этого кода?
2. ошибка заключается в том, что элемент управления не может перейти с одной метки обращения (‘case1:’) на другую
Ответ №1:
Вам нужно добавить оператор break; в конце вашего первого обращения:
case place_auction:
{
/* snipped */
Console.WriteLine("The Starting Price" startPrice);
Console.WriteLine("The Reserve Price" reservePrice);
Console.WriteLine("Closing date of this auction" closeDate);
break;
}
Что касается второй части вашего вопроса (при условии, что аукцион имеет свойство с именем «ItemName»):
Console.WriteLine(string.Format("Auction: {0}", auction.ItemName));
Комментарии:
1. блестяще, теперь у меня все заработало, спасибо, но теперь, когда я просматриваю свои товары, оно не отображается, я ввожу имя, дату, начальную цену и резерв, но мне чего-то не хватает, что при просмотре моего аукциона товар не отображается
2. Я предполагаю, что auctionList — это статическое свойство или что-то подобное. Не видя всей программы, я не уверен, что смогу вам чем-то помочь.
3. да, я понимаю, приятель, ты видишь этот фрагмент: если (список аукционов. Количество > 0) { Консоль. WriteLine(«Существующие аукционы:»); foreach (аукционный аукцион в списке аукционов) { Консоль. WriteLine(«Auction:»); } как бы мне заставить это показывать имя элемента после того, как оно говорит «Аукцион»:
4. @Paul Rogers: Пожалуйста, прочтите это :). meta.stackexchange.com/questions/10811 /…
5. Я сидел, пытаясь разобраться в этом, в течение 4 часов сегодня и примерно 2 недель, я бы не обратился за помощью, если бы действительно не застрял, спасибо за совет, я постараюсь заставить его работать, хотя я все еще не уверен, куда добавить вторую часть в моем кодировании
Ответ №2:
После вашего первого обращения вам не хватает инструкции break.
Комментарии:
1. я полностью новичок в этом, я не знаю, что это значит или куда это поместить
2. break сообщает элементу управления остановиться, когда он видит инструкцию break. Если у вас есть несколько обращений в вашей инструкции switch без перерыва, и если переменная, которую вы переключаете, вызывает обращение 1, она начнет выполняться в случае 1 и продолжит выполнение либо до тех пор, пока не достигнет конца инструкции switch, либо не столкнется с прерыванием. Следовательно, при отсутствии ‘break’ оно завершит выполнение case i и продолжит выполнение case (i 1).
3. У вас есть инструкция switch («переключить (значение) { … } «), содержащее некоторые операторы case (» case (значение) { … }»). Правила для операторов case заключаются в том, что вы не можете переходить от одного к следующему, если в case нет кода. «break;» в конце каждой инструкции предотвращает переход выполнения к следующему обращению.