Прошу простить за долгий ответ, но лучше поздно, чем никогда)
Привожу реальный пример из своих проектов. В некоторых частях шаблона мне нужно чекнуть почтовый аккаунт (например mail.ru) по протоколу imap
imap - это протокол для получения входящей почты. По данному протоколу работают такие ПО, как TheBat и Thunderbird
Для работы с imap я использую специальную библиотеку, в которой предполагается возможность подключать прокси к аккаунту при получении входящей почты.
На вход подаются 2 параметра (две переменные string):
1) логин и пароль от аккаунта в формате login:password
2) прокси в формате ip:port:login:password
Формат установки прокси в данной библиотеке не стандартный. Нужно отдельно указать версию socks, айпи, порт, логин и пароль.
Для этого нам нужно распарсить прокси. Это безусловно можно сделать регулярками или еще как-то, но для такой простой задачи я просто разделить строку с прокси по разделителю - двоеточию ":"
Получившиеся разделенные данные я сохранил в массив, а затем обращался к элементам массива по их индексу.
Использования массива на примере парсинга данных от прокси:
//например на вход поступил такой прокси
string proxy = "111.222.333.444:55555:login1:password1";
//создаём массив с названием words и складываем в него результат разбиение прокси по разделителю-двоеточию
string[] words = proxy.Split(new char[] { ':' });
//результатом будет массив {"111.222.333.444", "55555", "login1", "password1"}
//создаём переменные с названиями p_ip, p_port, p_login, p_password и передаём в них значения из массив
string p_ip = words[0];
int p_port = Convert.ToInt32(words[1]);
string p_login = words[2];
string p_password = words[3];
//в этой части кода создаётся imap подключение
//в этой части кода создаётся imap подключение
//в этой части кода создаётся imap подключение
//а вот в этой части кода мы задаём параметры прокси согласно формату, который поддерживает библиотека
imap.SocksVersion = 5;
imap.SocksHostname = p_ip;
imap.SocksPort = p_port;
imap.SocksUsername = p_login;
imap.SocksPassword = p_password;
//p.s. данный код можо было сократить, и задать параметры прокси сразу значениями из массива
imap.SocksVersion = 5;
imap.SocksHostname = words[0];
imap.SocksPort = Convert.ToInt32(words[1]);
imap.SocksUsername = words[2];
imap.SocksPassword = words[3];
try {
string a = 0;
int b = 2;
return a + b ;
}
catch (Exception e) {
project.SendInfoToLog("ошибка");
}
Знаю что нельзя конвертировать, разные типы данных если явно не могут преобразоваться. Хотелось бы понять в каких случаях можно использовать данную конструкцию
Оператор goto
пытаюсь использовать в цикле но не хочет переходить к другому элементу, не могли бы выложить пример использования конструкции
try {
string a = 0;
int b = 2;
return a + b ;
}
catch (Exception e) {
project.SendInfoToLog("ошибка");
}
Знаю что нельзя конвертировать, разные типы данных если явно не могут преобразоваться. Хотелось бы понять в каких случаях можно использовать данную конструкцию
Оператор goto
пытаюсь использовать в цикле но не хочет переходить к другому элементу, не могли бы выложить пример использования конструкции
Про конвертацию знаю, спасибо. В продолжении этой темы не могли бы вы привести примеры хороших шаблонов на C# (исходя из практики) которые стоит изучить чтобы лучше понять язык. Про goto честно говоря не понял почему не стоит использовать)
Про конвертацию знаю, спасибо. В продолжении этой темы не могли бы вы привести примеры хороших шаблонов на C# (исходя из практики) которые стоит изучить чтобы лучше понять язык. Про goto честно говоря не понял почему не стоит использовать)
Про хорошие шаблоны для изучения не могу сказать ) . Если хотите изучать шарп, то изучайте курсы по его обучению (не пропускайте основы и синтаксис), и пишите свои проекты, по мере изучения будете их переписывать ). Если хотите связку с зенно, то есть видеокурсы по обучению шарпу с параллельным написанием проектов зенно (например зенноакадемия от sibbora, можете поискать в интернете), есть и другие авторы.
А про goto, то лучше им не увлекаться, особенно в начале изучения, так лучше будете строить свою логику и циклы, понимать объектную модель и ООП с целом, а не делать переходы в нужное место, и потом разбираться откуда ошибки.
Про хорошие шаблоны для изучения не могу сказать ) . Если хотите изучать шарп, то изучайте курсы по его обучению (не пропускайте основы и синтаксис), и пишите свои проекты, по мере изучения будете их переписывать ). Если хотите связку с зенно, то есть видеокурсы по обучению шарпу с параллельным написанием проектов зенно (например зенноакадемия от sibbora, можете поискать в интернете), есть и другие авторы.
А про goto, то лучше им не увлекаться, особенно в начале изучения, так лучше будете строить свою логику и циклы, понимать объектную модель и ООП с целом, а не делать переходы в нужное место, и потом разбираться откуда ошибки.