Z TextBoxa do tablicy

Z TextBoxa do tablicy
AR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:119
0

Witam mam problem chce zrobić textBoxa do którego będą wprowadzane cyfry (11 cyfr) i chciałbym z tych jedenastu cyfr zrobić tablice 11 elementową typu int bardzo proszę o pomoc jak takie coś wykonać

Loganek
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 8 lat
  • Postów:268
0
Kopiuj
 
int [] tab = new int[11];

for(int i=0; i<11; i++)
   tab[i] = textBox.Text[i] - 48;


edytowany 2x, ostatnio: Loganek
somekind
Ciekawe jak to zadziała dla znaków diakrytycznych.
Loganek
miało dzialać dla cyfr:)
somekind
Racja. :) Ale czy magic numbers to na pewno dobre rozwiązanie?
Loganek
oczywiście że nie, robiłem to dla konkretnego przypadku autora:)
OO
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 13 lat
  • Postów:98
0

Moje fajniejsze :)

Kopiuj
using System.Linq;
...
public int[] StringToIntArray(string Text)
        {            
            List<int> n=new List<int>();
            (from c in Text.ToCharArray() select c).ToList().ForEach(C=>n.Add(int.Parse(new string(new char[] {C}))));
            return n.ToArray();
        }

W sumie to inta nie trzeba bo przy takiej konwersji i tak mamy liczby od 0 do 9 więc byte pyknie.


O̾..͠o
Zobacz pozostały 1 komentarz
OO
Ale fajnie wyglądają te nawiasy na końcu ;)
Loganek
tab[i] = (((((((textBox.Text[i] - 48))))))); też fajnie wygląda, nie?:)
OO
Nie ;) W moim cukiereczku każdy nawias jest z sensem :)
SC
Ten kod to tragedia. Gdybyś pracował u mnie w zespole to podczas inspekcji kodu musiałbyś na następny dzień przynieść ciasto (takie stosujemy kary za niechlujny kod lub "zobaczcie jak potrafię namotać")
OO
Oj toć zabawki od czasu do czasu napisać nie można? :)
AR
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 10 lat
  • Postów:119
0

ok bardzo dziękuje za pomoc.

edytowany 2x, ostatnio: arkagdynia
msm
Administrator
  • Rejestracja:około 16 lat
  • Ostatnio:5 miesięcy
3

Sorry, nie mogłem się powstrzymać...
"Alternatywne" rozwiązanie:

Kopiuj
        public int[] StringToIntArray(string Text)
        {
            string pattern = "(0)|(1.)|(2..)|(3...)|(4....)|(5.....)|(6......)|(7.......)|(8........)|(9.........)";
            Regex r = new Regex(pattern);

            List<int> numbers = new List<int>();

            while (Text.Length > 0)
            {
                Match m = r.Match(Text.PadRight(10));
                numbers.Add(m.Value.Length - 1);
                Text = Text.Remove(0, 1);
            }

            return numbers.ToArray();
        }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.