С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
SLIpros
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 93
1

Избегать попадания на пустые элементы массива

28.02.2011, 13:47. Просмотров 2246. Ответов 5
Метки нет (Все метки)

Привет, есть такой массив

C#
1
2
3
4
5
            string[][] side_ = new string[2][]
            {
                 new string[] { " ", " ", " ", " ", " "," ", " ", " ", " ", " " },
                 new string[] { " ", " ", " ", " ", " "," ", " ", " ", " ", " " }
            };
Получаю такое

p1|(S)
p2|(A)
p3|(A
p4|(S)
|
p6|(S)
|
|
|
|
А как убрать пустые элементы из такого массива?
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 13:47
Ответы с готовыми решениями:

Избегать попадания на пустые элементы массива
В программе обрабатывается текстовый файл. Он считывается построчно в массив...

Избегать попадания на пустые элементы массива
Здравствуйте, подскажите как можно сделать то же самое только для NET Framework...

Удалить все пустые элементы из списка списков
Дан список списков (List<List<string>>) , из него надо удалить все пустые...

byte[] Убрать пустые места из массива
Здравствуйте, подскажите как можно убрать из byte info = new byte; В Массив я...

Получить массив С[n+m], расположив в начале его элементы массива А, а затем – элементы массива В
Может кто решить или показать подобную? Заданы массивы A и B. Получить...

5
Kill100
420 / 286 / 81
Регистрация: 11.12.2010
Сообщений: 1,200
Завершенные тесты: 1
28.02.2011, 13:53 2
так они вроде у тебя все пробелами забиты...
Да и сам вывод не понятен что ты получаешь...
0
SLIpros
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 93
28.02.2011, 14:02  [ТС] 3
side[0][i] + "|" + side[1][i]
Вот что я получаю.

Добавлено через 7 минут
Мне нужно что бы в Массиве было 10 элементы, потом либо все или не все заполняются значениями, а все пустые нужно убрать.
0
BrumbleHorse
121 / 121 / 16
Регистрация: 18.09.2010
Сообщений: 212
28.02.2011, 14:10 4
Если все пустые надо полностью убрать используйте вместо массива коллекции, например List<string>

Добавлено через 4 минуты
Если у вас двумерный массив то создайте массив списков строки:
C#
1
List<string>[] arr = new List<string>[2];
0
Koran
мастер топоров
880 / 705 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
28.02.2011, 15:24 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//=====================================================//
char[] chSeparator = { ' ' };
string[] stArray = "Hallo f   sds , sdf  wer".Split(chSeparator, StringSplitOptions.RemoveEmptyEntries);
//=====================================================//
string[] sArray_1 = { "asd", "das", string.Empty, "sdas", "sads", string.Empty };
List<string> sListTemp = new List<string>();
for (int i = 0; i < sArray_1.Length; i++) {
    if (sArray_1[i] != string.Empty) {
        sListTemp.Add(sArray_1[i]);
    }
}
string[] sArray_2 = new string[sListTemp.Count];
for (int i = 0; i < sListTemp.Count; i++) {
    sArray_2[i] = sListTemp[i];
}
//=====================================================//
как-то так можно убрать пустые строки из строкового массива

Добавлено через 2 минуты
C#
1
2
3
char[] chSeparator = { ' ' };
string[] stArray = "Hallo f   sds , sdf  wer".Split(chSeparator, StringSplitOptions.RemoveEmptyEntries);
string[] stArray = "Hallo f   sds , sdf  wer".Split('  ', StringSplitOptions.RemoveEmptyEntries);
во второй строке не выдаст ошибки, а в третьей выдет. разве нельзя в аргументах задать сам массив-сепаратор, не объявляя его по переменной?
0
Evghenii
1 / 1 / 1
Регистрация: 05.12.2014
Сообщений: 23
21.01.2015, 14:51 6
Господа, извините, что влезаю в тему, но у меня есть похожая срочная задача. Подкажите, что делать.
input:
qweradsf 9.00
qwer 11.4
pouiuwert 45.66
xvzvxcv 99

output:
009.00 qwe
011.40 qwe
045.66 pou
099.00 xvz


В текстовом файле даются строки, необходимо чтобы программа сделала второй текстовый файл в котором строки будут преобразованы по примеру.
Там получается берутся первые 3 буквы от слова и цифры добиваются нулями до нужного формата.

Добавлено через 2 часа 16 минут
Ребят, все придумал, но вот форматировать стринг под 000,00 ну никак не выходит
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 private void button1_Click(object sender, EventArgs e)
        {
            StreamReader f = new StreamReader("C:\\qwe123.txt");
            string[] a = f.ReadToEnd().Split('\n');
       
            string[] b = (from elem in a select elem).ToArray();
 
            for (int i = 0; i < a.GetLength(0); i++)
            {
                
 
                    string l1 = a[i].Substring(a[i].IndexOf(' ') + 1);
                    l1 = l1.Replace("\r", "");
                    double l2 = Convert.ToDouble(l1);
                    l1 = string.Format("{0:000.00}", l1); /////////Here
                    a[i] = a[i].Substring(0,3);
                    a[i] = l1 + ' ' + a[i];
                    int rep1;
                
                
            }
            int report;
            System.IO.File.WriteAllLines(@"C:\rty456.txt", a);
        }
Добавлено через 8 минут
офф, сделал
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private void button1_Click(object sender, EventArgs e)
        {
            StreamReader f = new StreamReader("C:\\qwe123.txt");
            string[] a = f.ReadToEnd().Split('\n');
       
            string[] b = (from elem in a select elem).ToArray();
 
            for (int i = 0; i < a.GetLength(0); i++)
            {
                
 
                    string l1 = a[i].Substring(a[i].IndexOf(' ') + 1);
                    l1 = l1.Replace("\r", "");
                    double l2 = Convert.ToDouble(l1);
                    string[] specifiers = { "#000.00"};
                    foreach (string specifier in specifiers)
                    {
                        l1 = l2.ToString(specifier);
                    }
                    a[i] = a[i].Substring(0,3);
                    a[i] = l1 + ' ' + a[i];
                    int rep1;
                
                
            }
            int report;
            System.IO.File.WriteAllLines(@"C:\rty456.txt", a);
        }
Простите за спам, надеюсь комуто пригодится
0
21.01.2015, 14:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2015, 14:51

Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию
Помогите пожалуйста. Нужно реализовать две задачи. 1. Заменить все...

Как преобразовывать элементы массива строкового типа в элементы целочисленного массива
При использовании команды Convert.Toint32(a); элементы массива должны...

Заменить четные элементы 1 массива на нечетные элементы 2 массива
Дано 2 массива по 20. Замените Четные элементы 1 массива на нечетные элементы 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru