Рейтинг:
0
OriginalGriff
ReadAllLines действительно удаляет все новые строки, но WriteAllLines возвращает их все обратно!
Вместо этого попробуйте это:
string inFile = Class1.filename;
string outFile = Class1.filename;
var contents = File.ReadAllLines(inFile);
Array.Sort(contents);
File.WriteAllText(outFile, string.Concat(contents));
Member 13151067
когда я пытаюсь использовать WriteAllText(outfile, string. concat(contents)); записи не будут отсортированы, как writeAlllines
OriginalGriff
Да, будут.
Вы сортировали их в строке перед операцией записи.
Member 13151067
Как я могу их сортировать?
OriginalGriff
Как вы думаете, что делает эта линия?
Массив.Сорт(содержание);
Member 13151067
Сортировка массива строк
OriginalGriff
Правильно!
Итак, если он сортирует строки, а затем вы записываете их в файл,то что получается в результате? :смеяться:
Member 13151067
Файл будет отсортирован, но я пишу записи с помощью binary writer, и они не сортировались после сортировки
вот мой код для записи данных
ещё
{
БВ.BaseStream.Seek (длина, SeekOrigin. Begin);
textBox2. Text = textBox2.Text. PadRight(5);
БВ.Писать(инт.Синтаксический анализ(поле textbox2.Текст).ToString("D5").Подстрока(0, 5));
textbox3 и.Текст = textbox3 и.Текст.PadRight(9);
bw. Write(textBox3. Text. Substring(0, 9));
textBox4.Текст = textBox4.Текст.PadRight(11);
bw. Write( textBox4. Text. Substring(0, 11));
textBox5.Текст = textBox5.Текст.PadRight(4);
БВ.Писать(инт.Синтаксический анализ(textBox5.Текст).ToString ("D4"). Substring(0, 4));
textBox6.Текст = textBox6.Текст.PadRight(1);
bw. Write(textBox6. Text. Substring(0, 1));
длина += Класс1.rec_size;
}
OriginalGriff
Так... вы записываете данные в файл в виде текстовых полей фиксированной длины без каких-либо разрывов строк, считываете их обратно как текст и отбрасываете любые разрывы строк, которых там нет, и предполагаете, что вы можете отсортировать результат?
Нет, нет, это совсем не правильный подход.
И это игнорирование того, что вы берете строку, преобразуете ее в целое число, преобразуете обратно в строку, а затем предполагаете, что можете вырвать из нее кусок.
Вам нужно вернуться к тому, что вы должны делать, и подумать об этом - потому что либо вы очень сильно ошиблись концом палки, либо вы действительно не понимаете, что здесь происходит.
Хорошенько подумайте, а затем объясните, чего вы пытаетесь достичь - не того, что делает ваш код, потому что это совсем не хорошо, а какую задачу вы пытаетесь заставить работать.