klaudia2 0 Napisano 13 Kwietnia 2016 Udostępnij Napisano 13 Kwietnia 2016 (edytowane) witam, prosze o wyjasnienie o co chodzi w kodzie ponizej, Jestem slaba w programowaniu i probuje zrozumiec o co chodzi: Z gory dziekuje public Dictionary<string, bool> GetPower() { string result = SendCommand("getpower"); var startIndex = "<html>".Length; var endIndex = result.LastIndexOf("</html>"); var arr = result.Substring(startIndex, endIndex - startIndex).Split(new char[] { ',' }); Dictionary<string, bool> dict = new Dictionary<string, bool>(); foreach (string cell in arr) { var temp = cell.Split(new char[] { '=' }); dict.Add(temp[0], "1" == temp[1]); } return dict; } Edytowane 13 Kwietnia 2016 przez klaudia2 Cytuj Link to post Share on other sites
Deomortis 72 Napisano 14 Kwietnia 2016 Udostępnij Napisano 14 Kwietnia 2016 (edytowane) witam, prosze o wyjasnienie o co chodzi w kodzie ponizej, Jestem slaba w programowaniu i probuje zrozumiec o co chodzi: Z gory dziekuje /funkcja publiczna bezargumentowa zwracająca instancję obiektu Dictionary public Dictionary<string, bool> GetPower() { //wywołanie funkcji SendCommand z argumentem "getpower". string result = SendCommand("getpower"); //z napisu result wyciągany jest fragment pomiędzy "<html>" a "</html"> //oraz fragment ten dzielony jest na tablicę używając przecinka jako separatora var startIndex = "<html>".Length; var endIndex = result.LastIndexOf("</html>"); var arr = result.Substring(startIndex, endIndex - startIndex).Split(new char[] { ',' }); //stworzenie nowej instancji obiektu Dictionary Dictionary<string, bool> dict = new Dictionary<string, bool>(); //dla każdego napisu w tablicy arr foreach (string cell in arr) { //dzielimy napis oddzielony znakiem = na tablicę napisów var temp = cell.Split(new char[] { '=' }); //dodawany jest nowy wpis do obiektu Dictionary (klucz - wartość) //wartosc wpisu = prawda dla napisow "1" fałsz dla każdego innego. dict.Add(temp[0], "1" == temp[1]); } //zwrócenie obiektu Dictionary return dict; } Edytowane 14 Kwietnia 2016 przez Deomortis Cytuj Link to post Share on other sites
Recommended Posts
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.