1

私はLinqを学び始めたばかりです。このようなサンプルテストを作成しました。

            Dim dt As New DataTable

            Dim dc As New DataColumn

            dc.ColumnName = "Test"
            dt.Columns.Add(dc)

            dt.Rows.Add("Test")
            dt.Rows.Add("One test")
            dt.Rows.Add("Second test")

            Dim results = From myRow In dt.AsEnumerable
                          Where myRow("Test") = "Test"
                          Select myRow


            For Each Row In results
                Console.WriteLine(Row.Item(0).ToString())
            Next

これは、反復の最初の行を返します。

しかし、% を使用して LIKE 演算子を使用したい場合はどうすればよいでしょうか? 私はそれを働かせることができません。

私はもう試した

Where myRow("Test") LIKE "Test%"
4

3 に答える 3

3

StartsWith ieを使用したいように思えます

 Dim results = From myRow In dt.AsEnumerable
               Where myRow("Test").StartsWith("Test")
               Select myRow

Containsas は文字列StartsWithの先頭にある場合にのみ一致します ( と同じロジックTest%)。

于 2013-11-10T12:06:54.240 に答える
2

あなたは含むを探しているかもしれません。

これを見てください:

var query = from mem in context.Member
    where mem.LastName.Contains("xxx")
    orderby mem.LastName, mem.FirstName
    select new
    {
        FirstName = mem.FirstName,
        LastName = mem.LastName,
    };

.StartsWith() または .EndsWith() を使用することもできます。

于 2013-11-10T12:09:14.337 に答える
1

contains メソッドを使用できます。

Dim results = From myRow In dt.AsEnumerable
              Where myRow("Test").Contains("Test")
              Select myRow
于 2013-11-10T12:08:25.257 に答える