我正在努力解决这个问题。
我有一个类,用于在电子表格中存储每个单元格的单元格信息。
public class Datacollection
{
public int rowNumber { get; set; }
public string colName { get; set; }
public string colValue { get; set; }
}
在其他地方,我然后加载excel电子表格作为这些对象的集合
private static List<Datacollection> _dataCol = new List<Datacollection>();
我正在加载的电子表格有3列和3000行,因此我的集合的大小是9000.电子表格中每个单元格的一个Datacollection对象。
如何从此系列中获取行数?我想我需要'rowNumber'的最高值,但我不知道如何获得这个值。
非常感谢,
答案 0 :(得分:2)
如果行号是连续的并且从1开始,您只需使用LINQ的Max
扩展名:
var rowCount = _dataCol.Max(cell => cell.rowNumber);
但如果它们的确以任意数字开头而不是1,或者行数中存在间隙,则需要找到不同行数的计数:
var rowCount = _dataCol.Select(cell => cell.rowNumber).Distinct().Count();
如果你确定每一行都有完全三列,那么更快的方式当然是var rowCount = _dataCol.Count / 3;
答案 1 :(得分:1)
要获得rowNumber
的最大值,您可以使用LinQ:
var rowCount = _dataCol.Max(x => x.rowNumber);