gpt4 book ai didi

c# - UBound 数组 vb6 转换为 C#

转载 作者:行者123 更新时间:2023-11-30 14:00:13 26 4
gpt4 key购买 nike

我在 VB6 中有以下代码:

Dim frpdReport() As REPORTDEF

For iCounter = 0 To UBound(frpdReport)

With frpdReport(iCounter)
If .iReportID = iReportID Then
fGetReportFile = .tReportFile
End If
End With
Next iCounter

然后我转换为这个 C# 代码:

REPORTDEF[] frpdReport = new REPORTDEF[6];
for (iCounter = 0; iCounter < Convert.ToInt32(frpdReport[6]); iCounter++)
{
if (frpdReport[iCounter].iReportID == iReportID)
{
fGetReportFile_return = frpdReport[iCounter].tReportFile;
}

}
return fGetReportFile_return;

调试时,我在 for 语句中收到以下错误 - “索引超出了数组的范围。”我不知道为什么,因为数组的索引是 6。

有什么帮助吗?

最佳答案

为什么不使用 .length 属性?

 for (iCounter = 0; iCounter < frpdReport.Length; iCounter++)

或者如果您不需要计数器值,则为每个

foreach (REPORTDEF frpReportItem in frpdReport)

或者,如果您要查找特定项目,请使用 LINQ

REPORTDEF fGetReportFile_return = frpdReport.Where( fR => fR.iReportID == iReportID).Single();

关于c# - UBound 数组 vb6 转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com