Как получить доступ к переменным внутри операторов регулярных выражений? c # 4.0 - PullRequest
2 голосов
/ 17 октября 2011

Я искал повсюду, но я не могу понять, как сделать переменную внутри оператора регулярного выражения доступной из других мест.

Если бы кто-то мог помочь, это было бы удивительно!Вот код:

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)
            {

Вот проблема ->.,.................. string str5 = myMatch.ToString ();

            }

webBrowser1.navigate (str5);<- Это не работает </p>

Как получить доступ к строке str5?вне петли?Пожалуйста, помогите

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Если вы хотите получить доступ к переменной вне цикла, она должна быть объявлена ​​ вне цикла.Тем не менее, вам необходимо учитывать:

  • Что бы вы хотели случиться, если не было совпадений?
  • Что бы вы хотели случиться, если было несколько совпадений?

Вам нужно будет присвоить ей переменную вне цикла, так как в противном случае, когда вы попытаетесь прочитать переменную, компилятор будет жаловаться, потому что она определенно не назначена.

0 голосов
/ 17 октября 2011

Возможно, вы хотите:

string str5 = myMatch.Value;
webBrowser1.navigate(str5);
...