前置き
Qiitaでは余り投稿されていませんがVB.Netで躓いた時の話です。
躓いたコード
hoge.vb
Dim dt As New DataTable
dt.Columns.Add("Item")
dt.Rows.Add(New Object{"ABC"})
dt.Rows.Add(New Object{"abc"})
dt.Select("Item = 'abc'").Count
上記のコードでCountを取得すると2件取得されてしまいます。
デフォルトで大文字小文字を判別しない仕様になっています。
全角半角も区別しないようです。
修正後のコード
hoge.vb
Dim dt As New DataTable
'大文字小文字半角全角を区別するようにする
dt.CaseSensitive = True
dt.Columns.Add("Item")
dt.Rows.Add(New Object{"ABC"})
dt.Rows.Add(New Object{"abc"})
dt.Select("Item = 'abc'").Count
DataTableのCaseSensitiveプロパティを設定することによって解決しました。