我想通過條件(兩個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