式の構文をいじる代わりに、Linq を使用します。
IEnumerable<DataRow> rows = ByTotalTemplate.AsEnumerable()
.Where(r => r.Field<int>("TEMPLATE_ID") == DisTemplateID
&& r.Field<int>("MIN_AMOUNT") < quantity
&& r.Field<int>("MAX_AMOUNT") > quantity);
フィルタリングされた結果を含む新しい DataTable が必要な場合:
DataTable table = rows.CopyToDataTable();
CopyToDataTable
行から列を導出する必要があるため、行がない場合は例外をスローすることに注意してください。そのため、事前に確認する必要があります。あなたが使用することができます:
DataTable table = ByTotalTemplate.Clone();
if(rows.Any())
table = rows.CopyToDataTable();
代わりに配列が必要な場合:
DataRow[] rowArray = rows.ToArray();
最初の行だけが必要な場合:
DataRow row = rows.FirstOrDefault(); // can be null if there is no matching row
ところで、あなたの問題は、あなたDataTable.Select
がDataRow[]