Tag: distinct

返回对象数组的不同列表,其中数组项的数量是非特定的

有没有办法使用LINQ从对象数组列表中获取不同的项目列表,而不知道每个数组中有多少项? 每个数组项中的项数在整个列表中都是相同的。 // Foo is a list of object arrays. The number of items // each array is non-specific. // (In this example there is only 3 items, but there could be 100) var foo = new List(); // I add some items to the list. foo.Add(new object[] { 1, “Something”, true }); foo.Add(new object[] […]

与Linq的明确日期

我有一个名为Billings的实体,其属性为DateTime。 我需要独特地找到日期,以便我可以浏览它们并做一些事情。 我试过了: var DistinctYearMonthsDays = (from t in db.Billings where t.DateTime.HasValue select t.DateTime.Value.Date).Distinct(); foreach (var day in DistinctYearMonthsDays) 但我得到了(在foreach ): LINQ to Entities不支持指定的类型成员“Date”。 仅支持初始化程序,实体成员和实体导航属性。 搜索后我也尝试了以下但没有成功: IEnumerable DistinctYearMonthsDays = db.Billings .Select(p => new { p.DateTime.Value.Date.Year, p.DateTime.Value.Date.Month, p.DateTime.Value.Date.Day }).Distinct() .ToList() .Select(x => new DateTime(x.Year,x.Month,x.Day)); 任何帮助将非常感谢。

LINQ从列表中的列表中获取唯一项

我有一个MyObject类型的List ,其定义如下: class MyObject { public string ListName { get; set; } public IEnumerable ObjectList { get; set;} } 给定一个MyObject类型的List ,使用LINQ我应该使用什么表达式来获取所有不同的OtherObject ? 我打算做的是循环每个MyObject并从ObjectList属性中获取不同的OtherObject ,但是我需要在列表中获得不同的。 请注意,如果: MyObject[0].Objectlist[0] == ‘ItemA’和MyObject[1].Objectlist[0] == ‘ItemA’它仍将返回ItemA的单个实例。 此代码仅是一种表示forms。 顺便说一句,这不是我访问我的对象的方式。

分组条款与Distinct()

我的ASP.NET自定义列表控件从数据库View获取其值。 检索数据的方法最终返回List类型的对象作为控件的DataSource。 我想出了该方法的三种可能的实现方式,它们似乎都能正常工作并给出相同的结果。 现在我不确定哪一个应该是首选。 关键是,我需要按字母顺序从查询中获取唯一的字符串,并且db中有许多重复项。 所以我可以获取所有这些,然后执行Distinct()以获取唯一值… public override object GetData() { return ( from name in ( from job in DBConnection.NewDataContext.vJobs where job.name != null select job.name ).Distinct().OrderBy(s => s) select new Triplet(name, name, ListType) ).ToList(); } …或者我可以使用group by子句,只选择键: public override object GetData() { return ( from job in DBConnection.NewDataContext.vJobs where job.name != null group […]

在entity framework中有所区别

我有一个对象列表,其中一些具有相同的ID,所以我想删除那些重复的元素。 我尝试过这样的事情: List posts = postsFromDatabase.Distinct().ToList(); 但它不起作用! 所以我写了这个方法以避免重复: public List PostWithOutDuplicates(List posts) { List postWithOutInclude = new List(); var noDupes = posts.Select(x => x.Id).Distinct(); if (noDupes.Count() x.Id == idPost).First()); } return postWithOutInclude; } else { return posts; } } 有关如何提高性能的任何想法? 提前完成。

WPF Combobox中的独特值

我想在我的数据绑定combobox中获得不同的值 作为一个例子,它具有的值是:蓝色,蓝色,黄色,红色,橙色 我希望它只显示一次蓝色。 我的主要想法是将所有combobox值都放入一个数组中,将数组设置为distinct,然后重新填充combobox。 还有别的办法吗? 如果不是,我将如何从combobox中获取所有值? 谢谢 编辑 – class级: public class DistinctConverter : IValueConverter { } 编辑 – 调试:

C#LINQ计数元素与DISTINCT

我有一组KeyValuePair项目,其中DateTime为键,字符串为value。 基本上我的数据看起来像: 12/07/2013 – 10220 12/07/2013 – 10220 12/07/2013 – 12220 12/07/2013 – 11240 12/07/2013 – 15220 13/07/2013 – 23220 13/07/2013 – 35620 14/07/2013 – 15620 14/07/2013 – 15620 我想列出我每天有多少项(不同)。 所以查询会导致: 12/07/2013 – 4 13/07/2013 – 2 14/07/2013 – 1

linq的区别?

我想知道如何实现这一目标? 我想从一组对象中只获取不同的名称 MyObject a = new Object(); a.Name = ‘One’; a.Value = ’10’; MyObject b = new Object(); b.Name = ‘One’; b.Value = ’15’; MyObject c = new Object(); c.Name = ‘Two’; c.Value = ’10’; 所以我想只回到这个名字。 在这种情况下,我不关心这个名称的价值。 所以我试过了 //将所有对象添加到集合中。 myCollection.Disinct()..Select(x => new MyClassToStore() {Text = x.Name, Value = x.Name}).ToList()); 但是我需要在属性级别而不是在对象级别进行区分。 所以我要回“一”和“两”。 现在我回来了“一个”,“一个”和“两个”。 我看到一个名为morelinq的库,但我不确定是否应该使用它,因为它仍处于测试阶段,似乎不再开发了。 加上一个提取查询的整个库我不确定它是否值得。

用LINQ返回一个独特的IQueryable?

我正在编写一个函数,它使用LINQ从DataBase中获取记录以获得IQueryable。 此LINQ语句将在特定时间段内为活动用户提取所有记录,然后将UserID,First Name和Last Name吐出到Telerik RadGrid。 我的问题在于在拉动此数据时尝试在UserID上获得不同的值。 我已经尝试重新使用此代码来获取结果。 以下是拉动所有数据的代码示例,其中Distinct NOT工作。 public static IQueryable GetActiveEmployees_Grid(string Period) { DataContext Data = new DataContext(); var Employees = (from c in DataSystem_Records where c.Period == Period orderby c.DataSystem_Employees.LName select c).Distinct(); return Employees; } 将DataSource应用到我的网格后,这将返回用户4次,该句点的每个记录一个实例。 有没有办法将Distinct应用于我的LINQ函数,使其按照我打算的方式工作?

列表的不同列表,其中列表包含相同的值但顺序不同

我有一个清单: var list = new List<List>(); 这可能包含 list[0] = {1, 2, 3, 4} list[1] = {3, 1, 2, 4} list[2] = {2, 1, 7, 3} 如何检测[0]和[1]之间的重复并删除其中一个? 代码是c-sharp。 实际上它不是一个int,但这不应该改变问题。