C # Урок № 7 „Вземане на решения


Конструкцията if . else всъщност винаги отговаря на нуждите на програмиста. Понякога обаче има моменти, когато трябва да изберете едно условие от няколко и тогава тази конструкция в C # ще бъде тромава.

Например, представете си, че пишете програма, в която потребителят трябва да избере желания размер на прозореца от няколко опции и т.н. Да кажем, че трябва да изберем цвят и ни се представя стандартна трицветна RGB гама (червено, зелено, синьо са цветовете, които човешкото око възприема и от които то вече изгражда отделна картина). За да направим програмата по-описателна, ще променим фона на конзолата със свойството BackgroundColor, което приема за стойност вариант от изброяването на ConsoleColor. Ще обясня подробно какви са изброяванията в следващата лекция, но сега е важно за вас да знаете, че това е постоянен набор от стойности, чиито елементи са достъпни чрез точка. Разбира се, в този пример би било по-ясно да използвате WindowsForms, но за обучение все пак е по-добре да използвате конзолата.

Така че, знаейки изреченията if if, бихме могли да напишем така:

Нека да обясним малко за кода. Декларирах променливата vibor като низ и прочетох стойността от конзолата в нея. Не забравяйте, че всички сме хора и някой може да напише кляп с главна буква или да добави допълнителни интервали. Намалих тези рискове, като използвах метода ToLower (), за да преобразувам низа в малки букви (например някой ще пише зелено и низът ще бъде „зелен“ в резултат на ToLower ()) и използвах Trim ().

Съвет: Винаги предвиждайте всички ненужни потребителски движения! Необходимо е да се обмислят възможно най-много всички грешки, които може да причини, и да се предотвратят.

Освен това всичко вече е както трябва - сравняваме низа с цветовите опции в оператора if и рисуваме фона в този цвят. Ако потребителят е умен и е въвел грешен цвят или е сгрешил (например е написал "зелен"), тогава в изявлението else ще го информираме за това.

Изглежда, че не се е случило нищо ужасно. Но какво, ако решим да използваме цветовете на дъгата, а? Да напишем ли седем, ако не, ако? Ще се окаже много тромаво и малко бавно. За щастие, C # ни позволява да разрешим този проблем по по-елегантен начин - използвайки инструкцията за превключване.