2015-12-18 63 views
1

如果在第一個數組中找不到第二個數組中的所有值,則需要刪除它們中的所有值。但是,我在C#中找不到在線命令。儘管我已經爲其他語言找到了它。如果在MVC中的第二個數組中找不到,則從第一個數組中刪除

這是我的第一個數組:

string[] EmailList = (from user in db.Users join subscribor in Subscribors on user.UserId equals subscribor orderby user.FirstName select user.EmailAddress).ToArray(); 

和我的第二個數組:

string[] TechList = (from user in db.Users join tech in techs on user.UserId equals tech select user.EmailAddress).ToArray(); 

,這是我試過的代碼:

EmailList = EmailList.Intersect(TechList); 

我也嘗試了幾個相交的其他變體,但沒有任何作用。在這行代碼我收到以下錯誤:

cannot emplicitly converty type 'system.collections.generic.IEnumerable to string[]

回答

1

EmailList.Intersect(TechList)不返回string[];它會返回一個System.Collections.Generic.IEnumerable,就像它告訴你的一樣。嘗試添加.ToArray(),像這樣:

EmailList = EmailList.Intersect(TechList).ToArray(); 
3

您的代碼

EmailList = EmailList.Intersect(TechList); 

否則罰款,但相交返回IEnumerable的,和你的emailList字符串類型的[]。您可以像這樣將IEnumerable轉換爲字符串[]

EmailList = EmailList.Intersect(TechList).ToArray(); 
相關問題