- Регистрация
- 23.11.2013
- Сообщения
- 149
- Благодарностей
- 73
- Баллы
- 28
Только начинаю осваивать C# и многие моменты пока совершенно не понятны. Подскажите пожалуйста по области видимости переменных
В этом коде переменная random видна вне констукции if, в которой она назначается, а переменная strCurrentSubVariant - не видна, если я двигаю закрывающую скобку вот так:
Я получаю ошибку "Использование локальной переменной "strCurrentSubVariant", которой не присвоено значение". [Строка: 31; Cтолбец: 14]
Соответственно я пытаюсь сделать do {} while цикл, по результатам которого вывести переменную через return, но почему-то вижу эту переменную только внутри блока {}!
Код:
if (parserRegex.IsMatch(strCurrentVariant)) {
strCurrentSubVariant = parserMatch.Value;
subresult = strCurrentSubVariant.Split(new Char [] {';' });
if (subresult.Length > 0){
random = rnd.Next(0, subresult.Length);
}
return random;
//project.SendErrorToLog("info", true); //Пример записи в лог
//return strCurrentVariant.Replace("{" + strCurrentSubVariant + "}",subresult[random]);
}
Код:
if (parserRegex.IsMatch(strCurrentVariant)) {
strCurrentSubVariant = parserMatch.Value;
}
Соответственно я пытаюсь сделать do {} while цикл, по результатам которого вывести переменную через return, но почему-то вижу эту переменную только внутри блока {}!