• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

konswersja danych

Object Storage Arubacloud
+1 głos
157 wizyt
pytanie zadane 4 czerwca 2020 w C# przez PrzybyszQ Nowicjusz (130 p.)
Cześć,

czy ktoś mi podpowie jak powinienem skonwertować dane w C# aby otrzymać prawidłową tablicę char z stringa?

Otrzymuję z fronta np: "[245]" albo "[245,13,28,124]" generalnie to co otrzymam może być tablicą o n ilości elementów.

Jak z użyciem pętli for each otrzymać prawidłową tablicę?

dzięki za pomoc.

2 odpowiedzi

+1 głos
odpowiedź 4 czerwca 2020 przez adrian17 Ekspert (344,860 p.)

na tablicę char

intów?

W każdym razie brzmi dość prosto:

- wejście "[245,13,28,124]"

- wycinasz ostatni i pierwszy znak -> "245,13,28,124"

- wywołujesz Split() po przecinku -> tablica ["245", "13", "28", "124"]

- mapujesz tablicę stringów na tablicę intów używając Select() oraz int.Parse -> [245, 13, 28, 124].

–1 głos
odpowiedź 4 czerwca 2020 przez p099 Mądrala (6,390 p.)
Chodzi ze że stringa "test" chcesz otrzymać ['t','e','s','t']?
komentarz 4 czerwca 2020 przez PrzybyszQ Nowicjusz (130 p.)
edycja 4 czerwca 2020 przez PrzybyszQ
Zależy mi żeby uzyskać z tablicy która została zwrócona z fontendu jako jeden string (np o takiej formie "[245,13,28,124]"), na tablicę char np: [245,13,28,124].

Próbowałem tak: ale to nie jest prawidłowe.

                           string abcd = "[245,13,28,124]";      
                            char[] abcdArr = abcd.ToCharArray();

                            foreach (char a in abcdArr)
                            {
                                if (a != ",")
                                {
                                   char b = b+ a
                                }
                                else {
                                    abcdArr .Add(abcc);
                                }                           
                            }

albo w przypadku jednego wpisu - może będzie łatwiej  - zamiast do bazy zapisać ID =245, zapisuje mi 5 innych - dla [, 2, 4, 5, ]
komentarz 4 czerwca 2020 przez JakSky Stary wyjadacz (14,770 p.)
Lepiej chyba zrobić parametr przyjmujący tablicę typu string. Musisz najpierw podzielić te dane w stringu. Do tego celu możesz użyć wyrażeń regularnych. Ewentualnie możesz odczytywać każdy element stringa za pomocą indeksu np. abcd[i]
komentarz 4 czerwca 2020 przez PrzybyszQ Nowicjusz (130 p.)
ok, ale jak? jakaś podpowiedź. Szczerze nie wiem jak to powinno wyglądać..
komentarz 4 czerwca 2020 przez JakSky Stary wyjadacz (14,770 p.)

Najlepiej zrobić metodę przyjmującą parametr jako tablicę typu string.

Coś takiego:

public void Method(string[] tablica)
{

}

 

komentarz 4 czerwca 2020 przez Wiciorny Ekspert (269,710 p.)

@p099,  w myśl konwersji tutaj żadna nie zachodzi 

Chodzi ze że stringa "test" chcesz otrzymać ['t','e','s','t']?

komentarz 5 czerwca 2020 przez p099 Mądrala (6,390 p.)
A skąd mam wiedzieć co autor miał na myśli? nie stosuj regex bo zabijesz projekt wydajnościowo da się to zrobić prostymi algorytmami
komentarz 5 czerwca 2020 przez Wiciorny Ekspert (269,710 p.)
po prostu nie rozumiesz słowa konwersja? ... Sama konwersja ( nie w programowaniu ) Ci odpowie dokładnie, że to co podajesz to nawet nie jest konwersją z definicji tego słowa, a w programowaniu pod hasłem konwersja to już tym bardziej
komentarz 5 czerwca 2020 przez p099 Mądrala (6,390 p.)
To co zauważyłem w poście nie było z początku w moim rozumowaniu konwersją, chyba forum jest po to aby pytać i pomagać wzajemnie. Nie byłem doinformowany więc informację podałem niepełną. Według ciebie autor posta nie może się pomylić a błędy procesu rozumowania stworzone przez brak źródeł na temat nie istnieją według twojej "zasady". Dyskusja nie ma sensu więc swoją bezpodstawną opinię zachowaj dla siebie a mi pozwól że odejdę.
1
komentarz 5 czerwca 2020 przez p099 Mądrala (6,390 p.)

@Wiciorny, Tak odchodząc trochę od mojej wypowiedzi. Faktycznie sprawdziłem czym jest konwersja, jest to zamiana jednego typu danych na inny gdzie z odpowiednimi procesami nadal można taki format przywrócić lub na nim operować.
Ciąg znaków "test" również jest typem danych, konwersja tu polega na podzieleniu liter w słowie aby otrzymać inny typ danych w formie tablicy ['t','e','s','t']. Po odpowiedniej operacji na dokonanym typie można go zamienić z powrotem do ciągu początkowego "test". :P

Podobne pytania

+1 głos
2 odpowiedzi 2,024 wizyt
pytanie zadane 13 grudnia 2016 w C i C++ przez Kamyyylo Początkujący (460 p.)
0 głosów
3 odpowiedzi 165 wizyt
pytanie zadane 26 lipca 2016 w C i C++ przez hakiros54 Obywatel (1,160 p.)
0 głosów
2 odpowiedzi 1,928 wizyt
pytanie zadane 26 sierpnia 2015 w C i C++ przez patryk16 Obywatel (1,080 p.)

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...