索引是在数组的边界之外,可以让我知道我在哪里犯了错误



在下面的代码中,我有错误,因为索引是在数组的边界之外。即使这段代码正确地将单元格复制到列中。有人帮我吗?

string[] array = { "F3", "J3", "N3", "R3", "V3", "Z3", "AD3", "AH3", "AL3", "AP3" };
string[] arrayb={"C","G","K","O","S","W","AA","AE","AI","AM"};  

int a1count = arrayb.Length;
int b = 0;
for ( int a=0; a<= a1count; a++) 
{
 Excel.Range sourceRange = xlWorkSheet.get_Range(array[a]); 
 Excel.Range destinationRange = xlWorkSheet.UsedRange.Columns[arrayb[b]];
 sourceRange.Copy(Type.Missing);  
 destinationRange.PasteSpecial(Microsoft.Office.Interop.Excel.XlPasteType.xlPasteFormulas,   
 Microsoft.Office.Interop.Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
 b++;
}
for ( int a=0; a<= a1count; a++) 
应该

for ( int a=0; a< a1count; a++) 

因为index从0开始。例如,对于一个长度为10的数组,索引将从0到9,而不是0到10

for ( int a=0; a<= a1count-1; a++)
{
}

应该是

for ( int a=0; a < a1count; a++) 

for ( int a=0; a<= a1count; a++) 

会导致索引越界,因为数组从0开始到长度为1一些编码

的最佳实践

相关内容

最新更新