やっつけプログラム苦戦中

C#で作っているやっつけプログラムcsvファイルをを取り込むことは一応できた。しかし操作方法がよく分からない。まずは単純に行と列を指定し、特定の要素を取ってこようと思った。これさえできればあとは何とでもなるだろうからね。パクってきたソースがDataTableというclassにデータを取り込むのだが、どのメソッド(プロパティ?)を使えばよいのか分からず、調べたり実験したりすること5時間!最後にはちょっと詳しそうな若い人に聞いたりして、やっと該当するMSDNのページにたどり着いた。foreachでrowsを回し、その中でforeachでcolumsで回して、座標を指定すればできるとのこと。

C# コードのコピー:
private void PrintValues(DataTable table)
{
  foreach(DataRow row in table.Rows)
  {
    foreach(DataColumn column in table.Columns)
    {
      Console.WriteLine(row[column]);
    }
  }
}

なるほど。いかにもできそう。本当は全部ナメ回したいのではなくピンポイントに要素を指定できればいいだけなのだが、まあこれでもいいや。ところが実際には上記のコードはrowsの方はforeachで回すことはできなかった。enumがないからダメとか何とか言われてコンパイラに蹴られる。ま、ここは些細な問題なので、indexを指定してforで回せばいいや。こんな感じですぐ解決した。

private void PrintValues(DataTable table)
{
  int i;
  DataRow row;
  for(i=0; i

5時間の調査の上やっと作り上げたコードはたったの10行程度。これだったらスクラッチから自分で書いた方が早かったかねぇ。
ところで…for文の後ろにヘンなの付いてるんだけど、何だ??