我正在玩LINQ来了解它,但是当我没有一个简单的列表时,我无法弄清楚如何使用Distinct(一个简单的整数列表很容易做到,这不是问题).我想在对象的一个或多个属性上使用对象列表中的区别?
示例:如果对象是Person,则使用Property Id.如何获取所有Person并使用对象Distinct的属性Id?
Person1: Id=1, Name="Test1"
Person2: Id=1, Name="Test1"
Person3: Id=2, Name="Test2"
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到Person1和Person3?那可能吗?
如果LINQ不可能,那么Person在.NET 3.5 中依赖于某些属性的列表最好的方法是什么?
我有一个List<T>T是自定义对象.我的目标都不相同,但有些可能具有相同的属性.有没有通过比较属性来删除重复项的快速方法?哪个重复项保留在列表中并不重要.
我有一个叫Customer有几个字符串属性的类
firstName, lastName, email, etc.
Run Code Online (Sandbox Code Playgroud)
我从一个csv创建该类数组的文件中读取客户信息:
Customer[] customers
Run Code Online (Sandbox Code Playgroud)
我需要删除具有相同电子邮件地址的重复客户,每个特定电子邮件地址只留下1个客户记录.
我使用2个循环完成了这项工作,但由于通常有50,000多个客户记录,因此需要将近5分钟.完成删除重复项后,我需要将客户信息写入另一个csv文件(此处无需帮助).
如果我Distinct在循环中执行了一个循环,那么如何删除作为该特定客户的类的一部分的其他字符串变量?
谢谢,安德鲁
如何将以下循环转换为简单的linq代码.该程序正在过滤掉重复的记录.您可以看到SyID和PtID的组合在列表中重复,这些记录在筛选列表中应该只有一个条目.首先我们需要通过SyID对项目进行分组,然后从列表中获取不同的PtID.
public class ConnectionDetail
{
public long SyID { get; set; }
public long PtID { get; set; }
public double Usage { get; set; }
}
class Program
{
static void Main(string[] args)
{
var details = new List<ConnectionDetail>();
details.Add(new ConnectionDetail() { SyID = 1, PtID = 1, Usage = 1500 });
details.Add(new ConnectionDetail() { SyID = 1, PtID = 1, Usage = 1500 });
details.Add(new ConnectionDetail() { SyID = 1, PtID = 2, Usage = 560 });
details.Add(new …Run Code Online (Sandbox Code Playgroud) 我想根据我的对象的属性删除重复项:
public class MyType
{
public string _prop1;
public string _prop2;
public LocationsClass(string prop1, string prop2)
{
_prop1= prop1;
_prop2= prop2;
}
}
...
List<MyType> myList;
Run Code Online (Sandbox Code Playgroud)
所以基本上我想从myList中删除所有MyType对象,在_prop1中使用相同的值.有没有办法做到这一点,可能与LINQ?
我正在尝试获取一组符合某些条件的记录。想象一下我有一个订单列表,每个订单都有一个嵌套帐户,有点像这样:
var orders = [{
account: {
id: 1
}
}, {
account: {
id: 1
}
}, {
account: {
id: 2
}
}, {
account: {
id: 2
}
}, {
account: {
id: 1
}
}, {
account: {
id: 4
}
}, {
account: {
id: 3
}
}];
Run Code Online (Sandbox Code Playgroud)
我想使用 LINQ 根据帐户 ID 获取所有不同的帐户。我想我也许可以做这样的事情:
var accounts = results.Select(m => m.Account).GroupBy(m => m.AccountNumber).Distinct();
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。有人可以帮我吗?
我想在添加之前检查一个是否存在但是内部的转换.Any不起作用.
人是ObservableCollection对象,因为每个人都可以是不同的类(每个都有FirstLastName属性).
ObservableCollection<object> People = new ObservableCollection<object>();
foreach (cEmployee t in Group1)
{
if (!People.Any((cEmployee)x => x.FirstLastName == t.FirstLastName)
People.Add(new cEmployee(t));
}
Run Code Online (Sandbox Code Playgroud)
有解决方法吗?