この実装のオブジェクトのリストがあります。
class Locations
{
public string Origin { get; set; }
public string Dest { get; set; }
public int Total { get; set; }
}
行としてオリジン、列としてデスティネーション、および指定されたオリジンとデスティネーションが交わる合計を含むテーブルを CSV 形式で出力する必要があります。リストには、任意の数の Location オブジェクトが存在する可能性があります。
リストに次のレコードがあるとします。
Origin=A
Dest=B
Total=10
Origin=B
Dest=A
Total=20
私の出力は次のようになります (「-」文字は、同一の出発地/目的地間に合計がないことを意味します):
Origins/Destinations,A,B
A,-,10
B,20,-
これまでのところ、次のことを行いました。
1) リストをトラバースして目的地を出力します。
2) リストをトラバースして Origin を出力します。Origin については、リストをトラバースして、Origin に関連する各 Destination の合計を見つけます。
3) 次の Origin に対して #2 を繰り返します。
行/列のデータが常に一致するとは限らないため、結果がうまくいきません。これに対するより簡単な解決策はありますか?