Here is a working example, drop a DataGridView on a form.
Create a text file, name it names.txt with the following.
Karen
Bob
John
Mary
Set copy to output folder to copy if newer.
Form code
namespace WinFormsApp1;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.DataSource =
File.ReadAllLines("Names.txt")
.Select(x => new Item()
{
FirstName = x
})
.ToList();
}
}
public class Item
{
public required string FirstName { get; set; }
}
Screenshot
If you want to order the names
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.DataSource =
File.ReadAllLines("Names.txt")
.Select(x => new Item()
{
FirstName = x
}).OrderBy(x => x.FirstName)
.ToList();
}
}
Also, if there are empty lines the following skips them.
dataGridView1.DataSource =
File.ReadAllLines("Names.txt")
.Where(line => !string.IsNullOrWhiteSpace(line))
.Select(line => new Item()
{
FirstName = line
}).OrderBy(item => item.FirstName)
.ToList();