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ć
- Rejestracja:około 14 lat
- Ostatnio:ponad 10 lat
- Postów:119
0

- Rejestracja:ponad 18 lat
- Ostatnio:około 8 lat
- Postów:268
0
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:)
- Rejestracja:prawie 14 lat
- Ostatnio:około 13 lat
- Postów:98
0
Moje fajniejsze :)
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.
Zobacz pozostały 1 komentarz
Ale fajnie wyglądają te nawiasy na końcu ;)

tab[i] = (((((((textBox.Text[i] - 48)))))));
też fajnie wygląda, nie?:)
Nie ;) W moim cukiereczku każdy nawias jest z sensem :)
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ć")
Oj toć zabawki od czasu do czasu napisać nie można? :)
- Rejestracja:około 14 lat
- Ostatnio:ponad 10 lat
- Postów:119

- Rejestracja:około 16 lat
- Ostatnio:5 miesięcy
3
Sorry, nie mogłem się powstrzymać...
"Alternatywne" rozwiązanie:
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.