回答編集履歴

1 追記

catsforepaw

catsforepaw score 5868

2016/06/19 18:18  投稿

手っ取り早いのは、`public`な`static`フィールドとして`List<string[]>`を定義して、そこにCSVファイルの内容を格納していけば良いと思います。
```C#
// stArrayDataをpublicなstaticフィールドとして定義すれば、別クラスから参照可能
public static List<string[]> stArrayData = new List<string[]>();
```
ファイル読み込み部分はこのようにしてください。
```C#
// カンマ区切りで分割して配列に格納する
string[] record = line.Split(',');
stArrayData.Add(record);
```
```
---
追記
Form1のコードを載せます。★マークが追加・変更部分です。
```C
public partial class Form1 : Form
{
   public Form1()
   {
       InitializeComponent();
   }
   private void button1_Click(object sender, EventArgs e)
   {
       MessageBox.Show("処理を開始します");
       ReadCsv();
   }
   public static List<string[]> stArrayData = new List<string[]>();   // ★
   static void ReadCsv()
   {
       try
       {
           // csvファイルを開く
           System.IO.DirectoryInfo dirPath =
               new System.IO.DirectoryInfo(@"E:/Desktop/Study/StudyProject/IN/");
           System.IO.FileInfo[] files =
                dirPath.GetFiles("test_*.csv", System.IO.SearchOption.AllDirectories);
           // 指定フォルダからCSVを取得し、配列に格納する。
           foreach(System.IO.FileInfo filePath in files)
           {
               using(var readCsv = new System.IO.StreamReader(filePath.FullName))
               {
                   //ヘッダを読み捨てる。
                   readCsv.ReadLine();
                   // ストリームの末尾まで繰り返す
                   while(!readCsv.EndOfStream)
                   {
                       // ファイルから一行読み込む
                       string line = readCsv.ReadLine();
                       // カンマ区切りで分割して配列に格納する
                       string[] record = line.Split(','); // ★
                       stArrayData.Add(record);           // ★
                   }
               }
           }
       }
       catch(System.Exception e)
       {
           // ファイルを開くのに失敗したとき
           MessageBox.Show(e.ToString());
       }
   }
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る