我有以下课程:
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分组并获得最高的TotalRecords Row。
我已经按照了很多例子,但似乎找不到任何有用的东西。
答案 0 :(得分:0)
您似乎将数据存储在三个并行列表中。这些项之间唯一的链接是列表索引,可以使用LINQ访问,但是这个解决方案比它需要的更加尴尬。
12秒是正确的:您应该重新构建类型,以便在单个记录中添加相关信息。像这样:
public class AuditRow
{
public string Table { get; set; }
public long TotalRecords { get; set; }
public int Index { get; set; }
}
然后,创建一个行列表并一次填充一行:
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.