0
LINQの新機能ですが、このコードで何が問題なのか分かりません。私が望むのは、クエリの結果を配列リストに格納することです。それは例外:インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。LINQのグループ結合でwhere句を使用する
var JoinLCandSymp =
(from symp in SymptomsTable.AsEnumerable()
join leftC in LeftChestTable.AsEnumerable() on symp.Field<int>("Symptom_Number") equals leftC.Field<int>("Symptom_Number") into Sgroup
from SF in Sgroup
where SF.Field<int>("Rank") == 1 && SF.Field<string>("Category") == "Pain"
select symp.Field<string>("Symptom_Name")
);
foreach (string val in JoinLCandSymp)
{
GlobalVariables.sympLCWR1Pain.Add(val);
}
助けが本当に役に立ちます。 :)
これは別の同じ手順です...これには何が問題なのでしょうか?同じ例外が発生します。私がより良いと思う
var JoinLCandSymp =
(from symp in SymptomsTable.AsEnumerable()
join leftC in LeftChestTable.AsEnumerable() on symp.Field<int>("Symptom_Number") equals leftC.Field<int>("Symptom_Number")
where leftC.Field<int>("Rank") == 1 && leftC.Field<string>("Category") == "Pain"
// group leftC by symp into SympGroup
select symp.Field<string>("Symptom_Name")
);
foreach (string val in JoinLCandSymp)
{
GlobalVariables.sympLCWR1Pain.Add(val);
}
私は、データセットにデータを入力するSQLを見る必要があります。しかし、それがなければ、何かはnullです:Rank、Category、またはSympton_Number。列にアクセスしようとすると、失敗しています。 – Joe
SymptomsTableには、LeftChestTable..RankとCategoryは、LeftChestTableの列です.Symptom_Numberは、SymptomsTableとLeftChestTableの列です。問題なく列にアクセスできます。 –
私はそれを得ました。 ...後者のコードは現在動作しています.iは静的な配列リストを使用していました。静的なものを使用しなければならなかったクラスです。pythanksとにかく –