Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Массив с помощью List


Автор: BlitZz 24.10.2010, 18:31
Добрый день
Помогите разобраться в следующем:
Имеются некие строки например:
" q1 w2 e3 r4"
"a1 s2 d3"
" t5 y6 r4 i8 o9"
Которые я ввожу вручную и записываю в List
Подскажите как с этих строк выделить именно данные (игнорируя пробелы)
что бы записать их в Charовский массив который по данному примеру должен выглядеть так:
mas[0,0]=q1;   mas[0,1]=w2;   mas[0,2]=e3   и тд...
Ввод и вывод строк:
Код

             List<string> str = new List<string>();
         
              str.Add(textBox1.Text);

                foreach (string s in str)
                {
                    listBox1.Items.Add(str[0]);
                }
            

PS: строки имеют разный размер но состоят только из буквы затем цифры затем пробела.
Заранее благодарю.

Автор: wester 24.10.2010, 19:26
BlitZz
массив типа Char может содержать по определению только один символ e,g 'c' либо его числовой код e.g. 47
тут подойдет массив String 

вот например 
Код

const String example = " q1 w2 e3 r4 "; // записываем в переменную значение 
            var arr = example.Split(new char[1] {' '}, StringSplitOptions.RemoveEmptyEntries); // создаем массив String удаляя пустые элементы


адаптировать, я думаю сможете.

Автор: BlitZz 24.10.2010, 20:21
извиняюсь за глупость
получается мы из строки удалим все пробелы и приведем ее 
к виду: "q1w2e3r4"
а как мне из этого сделать двумерный массив
который будет приведен к виду:

mas[0,0]=q1; mas[0,1]=w2; mas[0,2]=e3; mas[0,3]=r4
mas[1,0]=a1; mas[1,1]=s2; mas[,1,2]=d3
mas[2,0]=t5;  mas[2,1]=y6 и так далее

PS>это мне нужно для того, чтобы сравнивать строки двумерного массива и искать сходства.

Автор: sCreator 24.10.2010, 21:23
Цитата(BlitZz @  24.10.2010,  21:21 Найти цитируемый пост)
получается мы из строки удалим все пробелы и приведем ее 
к виду: "q1w2e3r4"


нет. Получишь массив строк.
Код

string[] arr = example.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);


Гдето так
Код

            List<string> myStr = new List<string>();
            myStr.Add("q1 w2 e3 r4");
            myStr.Add("a1 s2 d3");
            myStr.Add("t5 y6 r4 i8 o9");
            string[][] mas = new string[myStr.Count][];
            for (int i = 0; i < myStr.Count; i++)
            {
                mas[i] = myStr[i].Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
            }
получим двумерный массив.

Автор: BlitZz 25.10.2010, 22:08
Благодарю, разобрался.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)