Skocz do zawartości

[C#] String, tablica i problem


Satil

Rekomendowane odpowiedzi

Cześć

powiem od razu, że nie jestem dobry w programowaniu ale cóż jak trzeba zrobić jakiś projekt to trzeba nie ma wyjścia tak więc przejdźmy do meritum sprawy:

W moim programie Użytkownik podaje jakiś string np: ciąg znaków 1010 który następnie ma być przeniesiony do tablicy jednowymiarowej nazwijmy ja "tab" w postaci danych : {1,0,1,0} i tu pojawia mi się problem jak to zrobić w C#. Szukałem już na różnych stronach poświęconych C# jednak moje poszukiwania zawsze kończyły się na treści: Jak utworzyć tablice w C# dlatego zwracam się do was z prośbą Jak ja mam to zrobić ??

Z góry dziękuje

Satil

Odnośnik do komentarza
Udostępnij na innych stronach

Prawie godzina minęła i Mimek nic nie napisał, więc...

            string linijka;
            Console.Write("Podaj text: ");
            linijka = Console.ReadLine();
            char[] tab = new char[linijka.Length];
            for (int i = 0; i < linijka.Length; i++)
            {
                tab[i] = linijka[i];
            }
            for (int i = 0; i < tab.Length; i++)
            {
                Console.WriteLine(tab[i]);
            }
            Console.ReadKey();

String jest tablicą charów ;)

Odnośnik do komentarza
Udostępnij na innych stronach

{
    class Program
    {
        static void Main(string[] args)
        {
            string koniec;

            do
            {
                string[] tab;
                int ile;
                string liczba;
                //podaj liczbę
                Console.WriteLine("Podaj liczbę");
                liczba = Console.ReadLine();
                ile = liczba.Length;
                tab = new string[ile];
                tab[0] = liczba;
                for (int i = 0; i < tab.Length; i++)
                {
                    Console.WriteLine("Tablica:{" + liczba[i] + "}");
                }


                //koniec...
                Console.WriteLine("Koniec?" + "  t / n");
                koniec = Console.ReadLine();
            }
            while (koniec != "t");
        }
    }
}

 

Wybacz, że tak długo, ale nie mogłem wcześniej.

 

E: Ooo, SLy napisał wcześniej :D

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Prawidłowy najkrótszy zapis konwersji:

String str = "1010";

char[] tablica = str.ToCharArray();

 

Jeżeli to ma być tablica int i jest to .NET 3.0 lub wyższa wersja, to można użyć LINQ:

String str = "1010";

int[] tablica = str.ToCharArray().Select( s => int.Parse( s.ToString() ) ).ToArray();

 

@SLy:

 

W C# string nie jest tablicą charów tylko stringiem - oddzielnym typem. To co pokazałeś to tylko indekser. Gdyby to była prawdziwa tablica, to wtedy poniższy zapis byłby prawidłowy (z użyciem LINQ, gdzie każda tablica dziedziczy specjalne metody), a nie jest:

int[] tablica = str.Select( s => int.Parse( s ) ).ToArray();
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...