2017-11-22 5 views
0

私は次のクラスがあります。これは、別のクラスによって呼び出され、値はこれらのリストに追加され複数の列を1つのリストにまとめるにはどうすればいいですか?

public class AuditBatch 
{ 
    public List<string> Tables { get; set; } 
    public List<long> TotalRecords { get; set; } 
    public List<int> Index { get; set; } 

を:

auditBatch.Tables.Add(extractQuery.Category); 
auditBatch.TotalRecords.Add(rowsInFile + totalRowsInFile); 
auditBatch.Index.Add(fileIndex); 

私は、リストにこれらのリストを追加できるようにしたいです後日

Tables | TotalRecords | FieldIndex 
John  333    1 
Paul  200    4 
Ringo  890    1 

私はFieldIndexにしてtで興味グループかもしれません:それは次のようになりますので、それは列としてこれらのリストのそれぞれをとります最も高いTotalRecords行を求めています。

私は多くの例を追ってきましたが、動作するものは見つけられません。

+1

あなたの特性上、 '一覧'を削除し、それぞれのタイプに変更し、このように。それから 'List ' – 12seconds

+0

リストをどのように埋めるのですか? – hoakey

答えて

0

データを3つの並列リストに格納しているようです。項目間の唯一のリンクは、LINQを使用してアクセスできるリストインデックスですが、このソリューションは必要以上に扱いにくいです。

12秒が正しい場合:関連する情報を1つのレコードに追加するようにタイプを変更する必要があります。

その後
public class AuditRow 
{ 
    public string Table { get; set; } 
    public long TotalRecords { get; set; } 
    public int Index { get; set; } 
} 

、行のリストを作成して、一度にこれ1を移入:

 List<AuditRow> auditBatch = new List<AuditRow>(); 

     AuditRow row = new AuditRow(); 
     row.Table = "John"; 
     row.TotalRecords = 333; 
     row.Index = 1; 

     auditBatch.Add(row); 

     //etc. for each row. 
+0

説明したテーブル構造を作成するために実際にどのようにループスルーしますか。それは私が本当に苦労しているところです。 – hoakey

+0

多くのありがとう。これは私の記憶をリフレッシュするのを助けた。乾杯 – hoakey

関連する問題