1
Class encargo
Property idEncargo as int
Property listEncargoCollege As IList(Of encargoCollege)

Class encargoCollege
Property idEncargo as int
Property rate as Decimal
Property college as College

Class college
Property idCollege as int
Property name as String
Property serial as int

所以我有一个包含1000 Encargos的列表(Of Encargo) 。每个 Encargo至少有 50 个 EncargoCollege。

每所大学都有他的idCollege 是独一无二的。

在 Encargo 上,所有 encargoColleges 必须是不同的(不同的 idCollege)

我需要的是迭代列表(Encargo)以及在列表中找到的每个不同的 idCollege;显示税收总和和税率总和。前任:

货运 (idEncargo=1)

EncargoCollege (idCollege=55, rate=100); EncargoCollege(idCollege=56, rate=200)

货运 2 (idEncargo=2)

EncargoCollege (idCollege=56, rate=500); EncargoCollege(idCollege=57, rate=800); EncargoCollege(idCollege=58, rate=1200)

我必须证明:

EncargoCollege 1(idCollege 为 55;college.name 为 Paul;比率为 100)

EncargoCollege 2(idCollege 是 56;college.name 是 Peter;率是 700)

EncargoCollege 3(idCollege 是 57;college.name 是 Mike;率是 800)

EncargoCollege 4(idCollege 是 58;college.name 是 Jack;率是 1200)

在速度和效率方面实现这一目标的最佳方法是什么?

提前致谢。

4

1 回答 1

0

由于您不是在数据集合中寻找特定值或信息子集,也没有办法缩短迭代,所以当您说:

我需要的是迭代列表(Encargo)以及在列表中找到的每个不同的 idCollege;显示税收总和和税率总和。

有类似的伪代码:

  foreach (var e in Encargo)
  {
    decimal taxSum = 0, rateSum = 0;
    foreach (var eC in e.listEncargoCollege)
    {
      rateSum += eC.rate;
      taxSum += eC.Tax; //though I didn't see where the tax field was declared/defined.
    }
    Console.WriteLine(string.Format("EncargoCollege {0}: rate Sum = {1} , tax Sum = {2} ", e.idEncargo, rateSum, taxSum));
  }

对于第二部分,不要总结,只需打印第二个 foreach 语句中的值。

我不明白哪里可能存在重复,特别是在 encargoCollege(id 使它们独一无二,不是吗?),如果这不可能,也许这会有所帮助!

于 2014-04-08T18:00:18.047 回答