#c# #regex #string #foreach #statements
#c# #регулярное выражение #строка #foreach #инструкции
Вопрос:
Я искал везде, но ни за что на свете не могу понять, как сделать так, чтобы переменная внутри оператора регулярного выражения была доступна из другого места.
Если бы кто-нибудь мог помочь, это было бы потрясающе! Вот код:
string strRegex = @"(regexstring)";
RegexOptions myRegexOptions = RegexOptions.Multiline;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = str9
foreach (Match myMatch in myRegex.Matches(strTargetString))
{
if (myMatch.Success)
{
Вот проблема -> . . ………………
строка str5 = myMatch.toString() — Строка();
}
webBrowser1.navigate(str5); <— Это не работает
Как мне получить доступ к строке str5? вне цикла? Пожалуйста, помогите
Ответ №1:
Если вы хотите получить доступ к переменной вне цикла, она должна быть объявлена вне цикла. Однако затем вам необходимо рассмотреть:
- Что вы хотите, чтобы произошло, если не было никаких совпадений?
- Что вы хотите, чтобы произошло, если было несколько совпадений?
Вам нужно будет присвоить ему переменную вне цикла, так как в противном случае, когда вы попытаетесь прочитать переменную, компилятор пожалуется, потому что она определенно не назначена.
Ответ №2:
Возможно, вы хотите:
string str5 = myMatch.Value;
webBrowser1.navigate(str5);