2011-03-20 9 views
0

にLINQで作成した「テーブル」のすべての内容は..アイブ氏は、次のコードディスプレイ(非常によく答えた)、私は尋ねた前の質問から作業VB.NET

Public Sub Main() 

    Dim EntireFile As String 
    Dim oRead As System.IO.StreamReader 
    oRead = File.OpenText("testschedule.txt") 
    EntireFile = oRead.ReadToEnd 

    Dim table As New List(Of List(Of String)) 

    ' Process the file 
    For Each line As String In EntireFile.Split(Environment.NewLine) 
     Dim row As New List(Of String) 
     For Each value In line.Split(",") 
      row.Add(value) 
     Next 

     table.Add(row) 
    Next 

    ' Display all contents of 5th column in the "table" using LINQ 

    Dim v = From c In table Where c(5) = "" 


    For Each x As List(Of String) In v 
     Console.WriteLine(x(0)) ' printing the 1st column only 
    Next 

    Console.WriteLine("Value of (2, 3): " + table(1)(2)) 
End Sub 
では...別の思わぬ障害に遭遇します

`

それはDim v = From c In table Where c(5) = ""空白の引用は唯一のは、その列に探している特定の番号を受け入れる予定だというエリア。 例:

Dim v = From c In table Where c(5) = "7"この列には7文字しか表示されません。通常は多くの異なる値があり、その列のすべてを印刷したい場合は、選択した列のすべてを表示するコマンドを見つけられません。

もう一度多くのMANYありがとう!

+0

質問を修正できますか?コードの後ろに混乱しているそのlitle。ただ、あなたが「何を求めているのか」を明確にすることができるかどうかを見てください。 –

答えて

0

あなたは(正確には:IEnumerable内の項目)のすべての行を表示したい場合:tableはあなたのリストのための非常に良い名前ではありません、それは、ただ単にノートWhere条件

Dim v = From c In table 

を削除その考えをSQLに導く。これは単なるLinq2Objectsであり、Linq2SQLと非常によく似た構文を持つ単純なオブジェクトをクエリするテーブルはクエリしません。これはSQLに大きな影響を受けます。

+0

ああ、SQLのように機能し、実際にテーブルを作成したという印象を受けていたのを見てください...ある意味では、列5 "からすべてを選択し、画面上に印刷してください...それは私が混乱しているところ。 –

+0

素敵なことは、通常の(Linq2Objectsとして使用している)コレクションで動作する正規(拡張)メソッドのライブラリに過ぎないということです。 [Jon Skeet](http://stackoverflow.com/users/22656/jon-skeet)はブログ投稿シリーズ[LINQをオブジェクトに再実装:パート45 - 結論と投稿一覧](http://msmvps.com /blogs/jon_skeet/archive/2011/02/23/reimplementing-linq-to-objects-part-45-conclusion-and-list-of-posts.aspx)を参照してください。 –

関連する問題