データテーブル内のレコードのソート

ADO.NET]データテーブル(DataTable)内のレコードをソートするには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/363dtsort/dtsort.html

を参考に、

  DataView dv = new DataView(dt);
  dv.Sort = "date";

とソート順を指定した。
これをDataGridのソースとして設定するとソート済みのデータが表示される。

しかし、プログラム上で以下のように一覧を取得するとソートされていない。

foreach( DataRow row in dv.Table.Rows ) {
  foreach( Object col in row.ItemArray ) {
    Console.Write( "[" + col.ToString() + "]" );
  }
}

どうやらこのアクセス方法では、元データを参照しているようだ。
ソート済みのデータにアクセスするには、以下のようにしたら参照できた。

foreach( DataRowView drv in dv ) {
  foreach(DataColumn column in dv.Table.Columns) {
    Console.Write( "[" + drv[column.ColumnName].ToString() + "]" );
  }
}

foreachの対象がdvなのがいまいちしっくりこない
dv.DefaultView.Rows とか書きたいところである