[C#] CSV-Daten in DataTable einlesen und in DataGridView anzeigen

// dgvGrid == DataGridView auf dem Formular
private void btnOpen_Click(object sender, EventArgs e)
{
    // Datei öffnen
    if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        // DataTable hält die gesplitteten CSV-Daten
        DataTable dt = new DataTable();

        // Datei öffnen, hier als UTF8
        using (StreamReader sr = new StreamReader(openFileDialog.FileName, Encoding.UTF8))
        {
            // bis Dateiende lesen
            while (!sr.EndOfStream)
            {
                // Zeile einlesen und anhand des Trennzeichens ";" in einzelne Spalten (stringarray) splitten
                string[] currentline = sr.ReadLine().Split(new string[] { ";" }, StringSplitOptions.None);

                // wenn neue Tabelle (noch keine Spalten enthalten)
                if (dt.Columns.Count == 0)
                {
                    // n Spalten der ersten gelesenen Zeile hinzufügen
                    for (int i = 0; i < currentline.Length; i++)
                    {
                        // als Spaltenüberschrift die eingelesenen Teile des Stringarrays verwenden
                        dt.Columns.Add(currentline[i]);
                    }
                }
                else
                {
                    // ansonsten Daten des Stringarrays zeilenweise hinzufügen
                    dt.Rows.Add(currentline);
                }
            }

            // Stream schließen
            sr.Close();
        }

        // DataTable an das Gitter auf der Oberfläche übergeben und somit anzeigen
        dgvGrid.DataSource = dt;
    }
}