我有一個自定義項目的數組,然後我有一個由對象函數返回的對象數組[]。這個對象數組的確是相同的客戶端類型,但是它以對象類型數組的形式返回(我不能編輯這個方面)。從包含在自定義類數組中的對象[]移除項目
我試着用明確的轉換,但我在運行時得到一個異常說:無法將對象[]轉換爲客戶端[]。
我的目標是,一旦我有兩個陣列,將從一個列表中刪除另一個列表中存在的項目,並創建一個聯合以獲得唯一列表。
var client = getClients().ToArray(); //Is an array of Clients[]
var normalSearch = getDuplicates().ToArray(); //Is an array of object[]
//This what I try to achieve,but being object, I cannot invoke "c.ContactId" (Line 4)
var uni = (from c in normalSearch
where !(from d in dupes
select d.ContactId)
.Contains(c.ContactId)
select c).ToArray();
我知道,在LINQ的聯盟()能自動排除重複的,如果使用基本類型,否則的擴展名必須與自定義類型來開發。但是我沒有訪問其餘的代碼,因此不可能在別處改變邏輯。
此演員表現正常! – Francesco