Всяка една променлива си има обхват, в който съществува, наречен variable scope. Този обхват уточнява къде една променлива може да бъде използвана. В езика C# областта, в която една променлива съществува, започва от реда, на който сме я дефинирали и завършва до първата затваряща къдрава скоба } (на метода, на if конструкцията и т.н.). За това е важно да знаем, че всяка променлива, дефинирана вътре в тялото на if, няма да бъде достъпна извън него, освен ако не сме я дефинирали по-нагоре в кода.
В примера по-долу, на последния ред, на който се опитваме да отпечатаме променливата salary, която е дефинирана в if конструкцията, ще получим грешка, защото нямаме достъп до нея.
Серии от проверки
Понякога се налага да извършим серия от проверки, преди да решим какви действия ще изпълнява нашата програма. В такива случаи, можем да приложим конструкцията if-else if…-else в серия. За целта използваме следния формат:
if (условие)
{
// тяло на условната конструкция;
}
else if (условие2)
{
// тяло на условната конструкция;
}
else if (условие3)
{
// тяло на условната конструкция;
}
…
else
{
// тяло на else-конструкция;
}
Пример: Число от 1 до 9 на английски.
Да се изпише число в интервала от 1 до 9 с текст на английски език (числото се чете от конзолата). Можем да прочетем числото и след това чрез серия от проверки отпечатваме съответстващата му английска дума:
int num = int.Parse(Console.ReadLine());
if (num == 1)
{
Console.WriteLine("one");
}
else if (num == 2)
{
Console.WriteLine("two");
}
else if (…)
{
…
}
else if (num == 9)
{
Console.WriteLine("nine");
}
else
{
Console.WriteLine("number too big");
}
Програмната логика от примера по-горе последователно сравнява входното число от конзолата с цифрите от 1 до 9, като всяко следващо сравнение се извършва, само в случай че предходното сравнение не е било истина. В крайна сметка, ако никое от if условията не е изпълнено, се изпълнява последната else клаузa.