我想通过条件(两个Observable集合)从列表中获取子列表。虽然此功能按预期工作 - 选择几项结果:Linq查询返回没有结果
ObservableCollection<TestCase> affectedTestCases =
new ObservableCollection<TestCase>();
foreach (var testCase in TestCaseList.ListOfTestCases)
{
if (testCase.TestHash == CurrentFile.Hash)
{
affectedTestCases.Add(testCase);
}
}
其中Hash(和TestHash)是一个简单的字符串。这一个不显示的结果,我不知道为什么:
var affectedTestCases = from testCase in TestCaseList.ListOfTestCases
where testCase.TestHash==CurrentFile.Hash
select testCase;
然后我想通过使用效果:
foreach (var affectedTestCase in affectedTestCases)
但它并没有显示出任何的LINQ变种。我也试着将AffectedTestCases投入列表。我也尝试使用String.Equals()进行比较。任何想法我做错了什么?
LINQ代码是可以的(但它不等同于'foreach')。请显示更多代码,查询结果正在被使用。 – Dennis
你有没有在调试器中通过代码?你确定在第二种情况下'TestCaseList.ListOfTestCases'实际上有什么吗?你确定集合包含'TestHash'的值等于'CurrentFile.Hash'吗?您的LINQ查询应该按原样工作(您*不需要添加“ToList”),因此您的数据集必须有错误。 –
TestCaseList.ListOfTestCases包含4个项目,其中3个与CurrentFile.Hash具有相同的TestHash。我尝试在一个函数中运行这两段代码而不更改数据集。 – Jammore