我做了一个程序,自动分离的csv文件。我们通过读取csv,然后使用split命令将“行”分配给一个数组。之后,我们遍历数组中的每个“单元”,并在前面放置一个=,因为这会导致前导零不会丢失。这是密码
arLine = line.Split(replace)
For Each cell As String In arLine
cell = cell.Replace(",", "")
cell = String.Format(cellFormat, cell)
Next
arLine是数组,replace是分隔符,在本例中是一个管道,无关紧要。
当它通过时,arLine是正确的,但每个单元格中的值没有改变,有什么想法吗?更新到www.example.com并需要指导VB.net and need direction
2条答案
按热度按时间wtlkbnrh1#
试试这个
您正在使用For Each循环并试图修改迭代器返回的值,但这为单元格var创建了一个新字符串,因此您没有引用原始数组。使用传统的For循环可以直接更新arLine数组中的值。
zqdjd7g92#
.NET中的字符串是immutable。当你修改一个字符串时,你实际上创建了一个全新的字符串。
因此,cell不再引用原始数组元素。相反,尝试
for
循环而不是foreach
循环,并将修改后的值赋回arLine(i)
。使用
for
循环而不是foreach
,这样您就可以方便地索引到集合中。