Не до конца выводит требуемые строки из массива
Есть массив строк и есть строки, которые мне необходимо пропустить, но после первых двух ItemToSkip (1, 24) перестаёт проверять и добавляет всё подряд
int[] ItemToSkip = { 1, 24, 25, 28, 29, 32, 34, 35, 41, 42, 44, 45, 46 };
int i = 0;
foreach(var line in AC_Array)
{
if (AC_Array.IndexOf(line) != ItemToSkip[i])
{
Data += line + ";" + "\n";
}
else i++;
}
Исходный текст:
0000;
10000;
4066;
11.01.23,10:01:47;
;
;
;
89.109.23.203:11222;
;
*100#;
5,10:01,1;
4103;
26;
43200;
3600;
19;
14;
10;
203;
1;
43;
4;
370;
14;
101.325000;
1;
14;
4;
1;
0;
40960;
253;
99.11;
:;
:;
;
;
2000;
0000;
0000;
010B00000000220A;
0;
0;
99.89;
0;
0;
0;
4066;
После пропуска всех ненужных должен быть:
0000;
4066;
11.01.23,10:01:47;
;
;
;
89.109.23.203:11222;
;
*100#;
5,10:01,1;
4103;
26;
43200;
3600;
19;
14;
10;
203;
1;
43;
4;
370;
14;
1;
14;
40960;
253;
:;
;
2000;
0000;
0000;
010B00000000220A;
99.89;
Ответы (1 шт):
Автор решения: XelaNimed
→ Ссылка
Если я правильно понял, что Вы пытаетесь сделать:
using System;
using System.Linq;
public class Program
{
public static void Main()
{
int[] valueArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] itemsToSkip = { 1, 3, 9 };
Console.WriteLine(
String.Join(
";\n",
valueArray.Where(i => !itemsToSkip.Contains(i))
)
);
}
}
Поиграться с кодом можно здесь.