我使用COM与Excel进行交互,并惊讶地发现2D数组的索引为[1,1]
而不是[0,0]
。这是非常令人困惑的,因为据我所知,世界上所有其他数组索引都是以[0,0]
的索引开始的。
当在[1,1]起始数组上,getLength()
等方法在数组上运行时仍然使用0
的起始索引时,这会变得更加混乱。
问题:
R1C1
引用样式)这是生成具有攻击性索引的COM数组的代码:
// Open the worksheet (just for background)
Excel.Application app = (Excel.Application)ExcelDnaUtil.Application;
Excel.Workbook wb = app.ActiveWorkbook;
Excel.Worksheet _DB_SCRAPE = wb.Worksheets["_DB_SCRAPE"];
// Get the contents of the worksheet (THIS LINE OF CODE)
object[,] contents = _DB_SCRAPE.Range[_DB_SCRAPE.Cells[rowFirst,colFirst],_DB_SCRAPE.Cells[rowLast,colLast]].Value2;
contents
对象的索引从[1,1]
开始。