DataTable.Select は、指定した検索条件により DataTable を検索し、結果を行で返してくれるメソッドです。 この Select は昔からあるメソッドで、DataTable を使っているソースの中には今でも見かけることがあります。安易に使っているケースも散見されますので、注意が必要です。 文字種は区別しない 例えば、以下のようなソースがあったとします。 結果として、何行 返却されるでしょうか? var dt = new DataTable(); dt.Columns.Add(new DataColumn("Address", typeof(string))); dt.Rows.Add("tokyo"); dt.Rows.Add("TOKYO"); var result = dt.Select("Address = 'tokyo'"); 2 行返ってきます。 tokyo がヒットするのはわかりますが、TOKYO も返却されます。DataTable.Select のデフォルトの挙動です。 文字列を厳密に比較する 大文字、小文字、全角、半角を厳密に比較するには、CaseSensitive プロパティを true にします(デフォルトは false)。 var dt = new DataTable(); // 大文字、小文字、全角、半角を区別する。 dt.CaseSensitive = true; dt.Columns.Add(new DataColumn("Address", typeof(string))); dt.Rows.Add("tokyo"); dt.Rows.Add("Tokyo"); dt.Rows.Add("TOKYO"); var result = dt.Select("Address = 'tokyo'"); このソースでは、返却されるのは tokyo の 1行だけです。