我正在尝试构建一个 lambda 表达式,它将一个数组的元素与第二个数组匹配。以下是此查询的简化版本:
class Program
{
static void Main(string[] args)
{
string[] listOne = new string[] { "test1", "test2", "test3" };
MyClass[] listTwo = new MyClass[] { new MyClass("test1") };
string[] newVals = listOne.Where(p => listTwo.Select(e => e.Name).Equals(p)).ToArray();
//string[] newVals2 = listOne.Intersect(listTwo.Select(t => t.Name)).ToArray();
}
class MyClass
{
public MyClass(string name)
{
Name = name;
}
public string Name {get; set;}
}
}
我希望newVals
返回一个包含 1 个值的数组,但它是空的。我意识到取消注释 myVals2 将获得相同的结果,但类列表的根本差异比显示的要大。