【发布时间】:2019-08-07 10:21:42
【问题描述】:
我有两个不同类型的列表。
列表类型为ProductPackageRelation 和Package。我想使用ProductPackageRelation 列表和Sequence 属性对Package 列表进行排序。
将用于排序标准:
public class ProductPackageRelation : BaseDTO
{
public int PackageID { get; set; }
public int ProductID { get; set; }
public int Sequence { get; set; } // This is the sorting property
}
将排序:
public class Package : BasePackage
{
public int GuideID { get; set; }
}
这是我的清单:
var productPackageRelationList = _iPackageService.GetRelations();
var packageList = _iPackageService.GetPackages();
// Example ProductPackageRelationList
ID ProductID PackageID Sequence
1 5 1 3
2 5 2 2
3 5 3 5
4 5 4 4
5 5 5 1
// Example PackageList
ID GuideID
1 1
2 2
3 3
4 4
5 1
packageList 变量将按productPackageRelationList 变量的Sequence 属性排序。
如何排序?
【问题讨论】:
-
它不是很清楚你想要实现什么,但你可能想使用 IEqualityComparer:docs.microsoft.com/en-us/dotnet/api/…
-
我尝试像 packageList.OrderBy(p => SOME_CONDITION) 那样对 packageList 进行排序。条件必须包含序列属性的 productPackageRelationList。您可以查找示例序列数据。
-
给定
packageList中的一个项目,你如何找到它关联的Sequence?这是解决这个问题的基础。packageList中的item和productPackageRelationList中的item是什么关系? -
@MatthewWatson ProductPackageRelation 类具有 PackageID。这个 PackageID 属性实际上是 Package 类的“ID”属性