CSVファイルを読み込む

using System.Diagnostics;
using Microsoft.VisualBasic.FileIO;

string fileName = "Sample.csv";

using (TextFieldParser txtParser = new TextFieldParser(fileName, Encoding.GetEncoding("shift_jis")))
{
    // 区切り形式
    txtParser.TextFieldType = FieldType.Delimited;
    // 引用符で囲まれている
    txtParser.HasFieldsEnclosedInQuotes = true;
    // 区切り文字
    txtParser.Delimiters = new string[] { ",", "\t" };

    // 1行目を無視する(ヘッダー)
    string[] fldHeader = txtParser.ReadFields();

    while (!txtParser.EndOfData)
    {
        string[] fldValues = txtParser.ReadFields();

        foreach (string fldValue in fldValues)
        {
            Debug.WriteLine(fldValue);
        }
    }
}

ファイルを開くためのダイアログを表示する

using Microsoft.Win32; // ダイアログで使用

// フィルタリングを配列で準備
string[] dlgFilters = new string[]
{
    "テキスト ファイル (*.txt;*.csv)|*.txt;*.csv",
    "すべてのファイル (*.*)|*.*"
};

// ダイアログのインスタンスを生成
var dlgOpen = new OpenFileDialog();
// フィルターを設定
dlgOpen.Filter = string.Join("|", dlgFilters);
// ダイアログを表示
var dlgResult = dlgOpen.ShowDialog() ?? false;
// キャンセルなら終了
if (!dlgResult) return;