2つの列を持つDatatable「tblFields」があり、その値は次のとおりです。
FieldId FieldValue
------- ----------
0_Name test0
0_Amount 100
1_Name test1
1_Amount 100
2_Name test2
2_Amount 200
3_Name test3
3_Amount 0.00
4_Name test4
4_Amount
以下のlinqは、データテーブルの「0_」で始まらないすべての行を表示します。次に、このコレクションにフィルターを適用して、量(_Amount)が0.00に等しくないか空の行のみを取得する必要があります。また、_Amountが0.00に等しいか空の場合は、_Name行を除外する必要があります。
var pairs = from row in tblFields.AsEnumerable()
where !row.Field<string>("FieldId").StartsWith("0_")
select new
{
key = GetId(row.Field<string>("FieldId")),
value = row.Field<string>("FieldValue")
};
次のような出力を探しています。linqを使用してこの結果を取得することは可能ですか?誰かがこれを達成するための他の方法を知っていますか?アイデアをありがとう。
1_Name test1
1_Amount 100
2_Name test2
2_Amount 200