我正在尝试将一些旧的版本从VB转换为C#,但是我遇到了一个关于双括号的特定区域的问题
Dim _atts As List(Of String()) = List(Of String())
Dim tmp() As String = Me._atts.Item(AttNo)(ValNo).Split(_SVM)
我不明白如何用C#编写(attNo)(valNo)
我尝试了以下方法,但是没有运气
List<string[]> _atts = new List<string[]>();
string[] tmp = this._atts[attNo](valNo).Split(_SVM);
有人可以启发我关于双括号在VB中的实际作用吗?
谢谢
答案 0 :(得分:3)
在VB.Net中,此上下文中的括号用于访问和迭代数组的值(访问索引器)。因此,如果您的成员变量“ exampleArray”的值为{“ I”,“ Like”,“ Coding”},则可以按以下方式访问它:
VB
Dim tmpStr as String = Me.exampleArray(1);
C#
string tmpStr = this.exampleArray[1];
现在tmpStr包含值“ Like”
现在考虑您有一个包含{exampleArray,someOtherArray}的数组“ outerArray”。如果要获得值“ Like”,则需要索引两个数组:
VB
Dim tmpStr as String = outerArray(0)(1)
C#
string tmpStr = outerArray[0][1];
第一组方括号(c#)或括号(VB)用于索引“ outerArray”以访问“ exampleArray”。 然后使用第二组方括号或括号访问“ exampleArray”中的值“ Like”。