我有一个具有此实现的对象列表:
class Locations
{
public string Origin { get; set; }
public string Dest { get; set; }
public int Total { get; set; }
}
我需要以 CSV 格式输出一个表,该表将 Origins 作为行,将 Destinations 作为列,以及指定 Origins 和 Destinations 相遇的 Total。我的列表中可能有任意数量的 Location 对象。
鉴于我的列表中的以下记录:
Origin=A
Dest=B
Total=10
Origin=B
Dest=A
Total=20
我的输出看起来像这样(带有“-”字符意味着相同的起点/终点之间没有总计):
Origins/Destinations,A,B
A,-,10
B,20,-
到目前为止,我已经完成了以下工作:
1)遍历列表以输出目的地。
2)遍历List输出一个Origin。对于 Origin,遍历列表以查找与 Origin 相关的每个 Destination 的 Total。
3) 对下一个 Origin 重复 #2。
我的结果不太好,因为行/列数据并不总是匹配。有没有更简单的解决方案?