Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有Where条件的GroupBy Linq_C#_Linq_Group By_Where - Fatal编程技术网

C# 具有Where条件的GroupBy Linq

C# 具有Where条件的GroupBy Linq,c#,linq,group-by,where,C#,Linq,Group By,Where,我有一个像这样的对象数组 public class Test { public string Name {get; set;} public string URL {get; set;} } var result = names .Where(o => o.Select(p => p.Name).SequenceEqual(includedNames)) .Select(g => g.First())

我有一个像这样的对象数组

public class Test
{
    public string Name {get; set;}
    public string URL {get; set;}
}
var result = names
             .Where(o => o.Select(p => p.Name).SequenceEqual(includedNames))
             .Select(g => g.First())
             .ToArray();
我有不同的名字,但相同的网址。 当我使用字符串数组搜索名称条件时,我希望得到不同的对象,其中相同URL的名称将相等

例如:

var names = new List<Test>();
names.Add(new Test() { Name = "john", URL = "http://www.test.com" });
names.Add(new Test() { Name = "mark", URL = "http://www.test.com" });
names.Add(new Test() { Name = "john", URL = "http://www.test2.com" });

任何帮助都可以救我一天,谢谢

尝试对
包含的名称使用数组

var includedNames = new [] { "john", "mark" };
var result =  names
  .GroupBy(o => o.URL)
  .Where(g => g.Select(x => x.Name).OrderBy(n => n).SequenceEqual(includedNames))
  .Select(g => g.Key)
  .ToArray();
如果您以逗号分隔格式以字符串形式获取输入,则只需将其拆分即可


这里是

取决于我的需要,比如我必须从那个非键/值中获取对象我这样更改了你的答案

public class Test
{
    public string Name {get; set;}
    public string URL {get; set;}
}
var result = names
             .Where(o => o.Select(p => p.Name).SequenceEqual(includedNames))
             .Select(g => g.First())
             .ToArray();

谢谢你的帮助

includedWords是一个字符串还是一个数组?我想这是打字错误,
()
和你的类名。很抱歉我遗漏了,我得早点离开办公室,所以很抱歉耽搁了。实际上我用数组来表示includedName,这样就不会有问题了。我会试试这个,尽快给你回复:)谢谢!