相关疑难解决方法(0)

LINQ对特定属性的Distinct()

我正在玩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 中依赖于某些属性的列表最好的方法是什么?

c# linq distinct .net-3.5

1002
推荐指数
15
解决办法
80万
查看次数

linq查询从对象列表中返回不同的字段值

class obj
{
    int typeID; //10 types  0-9 
    string uniqueString; //this is unique
}
Run Code Online (Sandbox Code Playgroud)

假设有包含100个obj元素的列表,但只有10个唯一的typeID.
是否可以写一个LINQ查询从objs列表中返回10个唯一的int?

c# linq

78
推荐指数
6
解决办法
17万
查看次数

与自定义比较器不同的LinQ留下重复

我有以下课程:

public class SupplierCategory : IEquatable<SupplierCategory>
{
    public string Name { get; set; }
    public string Parent { get; set; }

    #region IEquatable<SupplierCategory> Members

    public bool Equals(SupplierCategory other)
    {
        return this.Name == other.Name && this.Parent == other.Parent;
    }

    #endregion
}

public class CategoryPathComparer : IEqualityComparer<List<SupplierCategory>>
{
    #region IEqualityComparer<List<SupplierCategory>> Members

    public bool Equals(List<SupplierCategory> x, List<SupplierCategory> y)
    {
        return x.SequenceEqual(y);
    }

    public int GetHashCode(List<SupplierCategory> obj)
    {
        return obj.GetHashCode();
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下linq查询:

CategoryPathComparer comparer = new CategoryPathComparer();
List<List<SupplierCategory>> categoryPaths = (from i …
Run Code Online (Sandbox Code Playgroud)

linq distinct custom-compare c#-3.0

9
推荐指数
1
解决办法
7025
查看次数

使用Linq列表时没有获得不同的项目?

这是我试图获得一个独特的项目列表...

    var queryResults = PatientList.Distinct();
    PatientList = queryResults.ToList<SelectListItem>();
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在这里没有得到明确的清单.

c# linq

3
推荐指数
1
解决办法
5825
查看次数

标签 统计

linq ×4

c# ×3

distinct ×2

.net-3.5 ×1

c#-3.0 ×1

custom-compare ×1