Объединение строк

Рейтинг: 0Ответов: 0Опубликовано: 26.01.2015

Привет. 2 день знаком с C#. Пытался, как в Java, объединить строки, чтобы выполнить запрос:

"https://api.vk.com/method/audio.get?oid="+uid+"&need_user=0&count=0&offset=0&access_token="+access_token"

Но строки не объединяются. В чём ошибка?

Обновление

public class Authorization {
    String login;
    String password;

    String accessToken;
    String uid;

    public Authorization(String login, String password) {
        this.login = login;
        this.password = password;
    }

    public String StartAuthorize() {
        WebBrowser browser = new WebBrowser();
        browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Authorize);
        browser.Navigate("https://oauth.vk.com/authorize?client_id=4846118&redirect_uri=http://api.vk.com/blank.html&scope=audio&display=wap&response_type=token");
        return "success";
    }

    public void Authorize(object sender, WebBrowserDocumentCompletedEventArgs e) {
        HtmlDocument document = ((WebBrowser) sender).Document;
        HtmlElementCollection inputs = document.GetElementsByTagName("input");
        for (int i = 0; i < inputs.Count; i++) {
            if (inputs[i].GetAttribute("name").Equals("email")) {
                inputs[i].SetAttribute("value", login);
            }
            if (inputs[i].GetAttribute("name").Equals("pass")) {
                inputs[i].SetAttribute("value", password);
            }
            if (inputs[i].GetAttribute("type").Equals("submit")) {
                inputs[i].InvokeMember("click");
            }
        }

        if (!((WebBrowser) sender).Url.ToString().Contains("access_token")) {
            inputs = document.GetElementsByTagName("input");
            for (int i = 0; i < inputs.Count; i++) {
                if (inputs[i].GetAttribute("type").Equals("submit")) {
                    inputs[i].InvokeMember("click");
                }
            }
        }
        accessToken = document.Url.ToString().Split('=')[1].Split('&')[0];
        uid = document.Url.ToString().Substring(document.Url.ToString().LastIndexOf('=')+1);
    }
}

С помощью такого кода получаю access_token через VK api. В этих строчках:

 accessToken = document.Url.ToString().Split('=')[1].Split('&')[0];
        uid = document.Url.ToString().Substring(document.Url.ToString().LastIndexOf('=')+1);

Успешно присваиваются данные к строкам (проверил с помощью отладки), но в этой строчке:

return "success";

Переменные null. Я так понял, что return происходит раньше, чем WebBrowser успеет выполнить свою часть кода. Как исправить это?

Обновление 2

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

Ответы

Ответов пока нет.