У меня есть немного другая проблема по сравнению с другими проблемами «редактирования текстового файла». Например, у меня есть следующий текстовый файл:Редактирование строк в текстовом файле с использованием C#
Cal Test
{
Feature 0.0 1.0 2.0 7.5
Feature 0.0 -1.0 2.0 -7.5
.etc
}
у меня есть около ста Feature
строк в текстовом файле. По сути, цифры представляют собой точки данных; поэтому первые два числа представляют собой точку данных: (0.0, 1.0)
, а вторая пара представляет вторую точку данных: (2.0, 7.5)
; который представляет строку в другой программе, которая принимает текстовый файл.
Что я хочу сделать, поворачивает каждую точку данных на 90 градусов против часовой стрелки; что означает (a, b)
→ (b, -a)
. Я знаю, как я могу это сделать, проходя через чтение строки за строкой и редактируя точки, я хотел бы знать, есть ли более эффективный способ обмена (a, b) и приложить отрицательный результат?
Вы хотите повернуть всю функцию установить в строке? Итак, первый из них будет (1,0, -0,0, 7,5, -2,0)? – keyboardP
Никакое количество микро-оптимизации не приведет к заметному улучшению производительности по сравнению с вашим предложением прочитать каждую строку, проанализировать ее и внести изменения прямо и просто. Если бы у вас было миллиард строк или даже миллион, может быть случай для какой-то оптимизации (которая, скорее всего, будет вращаться вокруг того, как вы управляете файловым IO и памятью). –
@keyboardP Да, это правильно – John