私はリストから条件(Observableコレクション)でサブリストを取得しようとしています。これは期待どおりに動作しますが、結果はほんのわずかです:Linqクエリは結果を返しません。
ObservableCollection<TestCase> affectedTestCases =
new ObservableCollection<TestCase>();
foreach (var testCase in TestCaseList.ListOfTestCases)
{
if (testCase.TestHash == CurrentFile.Hash)
{
affectedTestCases.Add(testCase);
}
}
ここで、Hash(およびTestHash)は単純な文字列です。この1はその結果を示していないと、なぜ私が疑問に思う:
var affectedTestCases = from testCase in TestCaseList.ListOfTestCases
where testCase.TestHash==CurrentFile.Hash
select testCase;
は、その後、私は、結果を使用していた:
foreach (var affectedTestCase in affectedTestCases)
しかし、それはLINQのバリアントのいずれかを示していません。また、AffectedTestCasesをキャストしてリスト表示しようとしました。私はまた、比較のためにString.Equals()を使ってみました。私が間違っていることは何ですか?
LINQコードはOKです(ただし、 'foreach'と同じではありません)。クエリ結果が使用されているコードをさらに表示してください。 – Dennis
デバッガのコードを歩いたことがありますか? 2番目のケースで 'TestCaseList.ListOfTestCases'に実際に何かがあることは確かですか?コレクションに 'CurrentFile.Hash'と等しい 'TestHash'の値が含まれていると確信していますか?あなたのLINQクエリはそのままで動作するはずです(ToListを追加する必要はありません)ので、何かデータセットに間違っていなければなりません。 –
TestCaseList.ListOfTestCasesには4つの項目があり、そのうち3つはCurrentFile.Hashと同じTestHashを持ちます。データセットを変更せずに、これらの2つのコードを1つの関数で実行しようとします。 – Jammore