如果在MVC中的第二个数组中找不到,则从第一个数组中删除

本文关键字:数组 第一个 删除 找不到 第二个 如果 MVC | 更新日期: 2023-09-27 18:27:31

如果在第二个数组中找不到第一个数组中的所有值,我需要删除它们。然而,我在C#中找不到它的在线命令;尽管我已经为其他语言找到了它。

这是我的第一个数组:

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);

我确实尝试了intersect的一些其他变体,但都不起作用。在这行代码中,我得到了以下错误:

无法显式转换类型'system.collections.generic.IEnumerable to string[]

如果在MVC中的第二个数组中找不到,则从第一个数组中删除

您的代码

EmailList = EmailList.Intersect(TechList);

在其他方面很好,但Intersect返回IEnumerable,并且您的EmailList的类型为string[]。您可以将IEnumerable转换为字符串[],如以下

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

EmailList.Intersect(TechList)不返回string[];它返回一个System.Collections.Generic.IEnumerable,就像它告诉你的那样。尝试添加.ToArray(),如下所示:

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