【发布时间】:2017-07-11 21:59:53
【问题描述】:
如何从 for 循环中获取数组或数组值?
示例第一个输出打印正确的解决方案,但第二个输出仅打印最后一行,数组的最后一个单词。
如何从 splitLine 中获取正确的数组值并将其保存在变量中以供以后使用?
文件文本
Title:
这是我的第一行。
这是我的第二行。
这是我的第三行。
这是我的第四行。
这是我的第五行。
代码
using System;
using System.IO;
namespace Array
{
class Class
{
private static void Main()
{
string[] lines = File.ReadAllLines(
@"file.txt");
string[] array = new string[] {};
for (int i = 0; i < lines.Length; i++)
{
string[] splitLine = lines[i].Split();
for (int j = 0; j < splitLine.Length; j++)
{
Console.WriteLine(splitLine[j]);
array = splitLine[j].Split();
}
}
Array.ForEach(array, Console.WriteLine);
}
}
}
【问题讨论】:
-
array = splitLine[j].Split();不是每次迭代都添加到数组中,而是设置数组的值。所以是的,它设置最后一行,然后退出 for 循环。
-
我建议调试这段代码——你应该很快就能看到这里发生了什么。正如@DavidThielen 提到的,请特别注意
array = splitLine[j].Split();这一行