Вы всегда можете выровнять текст, используя выравнивание с интерполяцией строк.
Чтобы следовать некоторым комментариям, я также призываю вас создать класс, содержащий значения.
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public int Grade { get; set; }
}
ИВот код, использующий выравнивание с интерполяцией строк
var students = new List<Student>
{
new Student {Name = "John", Age = 10, Grade = 98},
new Student {Name = "Alon", Age = 10, Grade = 100}
};
var minGrade = students.Min(s => s.Grade);
var maxGrade = students.Max(s => s.Grade);
using (var myF = new System.IO.StreamWriter(@"C:\Users\axcel\textfolder\myFile.txt", true))
{
myF.WriteLine($"{"Name",-15}{"Age",-10}{"Grade",5}");
myF.WriteLine("==============================");
foreach (var student in students)
{
myF.WriteLine($"{student.Name,-15}{student.Age,-10}{student.Grade,5}");
}
}
Это даст следующий результат:
Name Age Grade
==============================
John 10 98
Alon 10 100
Положительные числа выровнены по правому краю, а отрицательные числа выровнены по левому краю
Подробнее об этом можно прочитать на странице интерполяция строк в Microsoft Docs