带有字符串数组的文本文件获取位置子字符串
本文关键字:字符串 获取 位置 文件 数组 文本 | 更新日期: 2023-09-27 18:04:13
我遇到了以下问题:
我正在将一个文件加载到c#中,然后用以下代码将其按行拆分。
// Splitting by line from original file
string[] lines = showText.Split(new string[] { "'r'n", "'n" }, StringSplitOptions.None);
现在我需要一个for循环,它将通过lines
并从这两行分别获得Substring
。
在某种程度上,这是我想要完成的:
for (int i = 0; i < lines.Length; i++)
{
int[] testing = new int[i];
testing[i] = int.Parse(lines[i].Substring(16, 1));
textBox1.Text = testing.ToString();
}
这里的错误是:Index超出了数组的边界。
这是一张图片,也是为了更好地了解我在做什么。
http://s30.postimg.org/jbmjmqv1t/work.jpgtextBox1.Text = lines[0].Substring(16,1) + " " + lines[0].Substring(23,9);
textBox1.Text = lines[1].Substring(16,1) + " " + lines[1].Substring(23,9); //etc
有谁能帮我一下吗?
您正在for循环中创建数组,因此它是为每行创建的,并且长度错误。而不是这部分代码:
for (int i = 0; i < lines.Length; i++)
{
int[] testing = new int[i];
testing[i] = int.Parse(lines[i].Substring(16, 1));
textBox1.Text = testing.ToString();
}
你应该这样做:
int[] testing = new int[lines.Length];
for (int i = 0; i < lines.Length; i++)
{
testing[i] = int.Parse(lines[i].Substring(16, 1));
textBox1.Text = testing.ToString();
}
我是这样解决的。
int[] testing = new int[lines.Length];
textBox1.Clear(); //Just to clear it if button pressed again
for (int i = 0; i < lines.Length; i++)
{
testing[i] = int.Parse(lines[i].Substring(16, 1));//just getting the needed value
textBox1.Text += testing[i].ToString() + "'r'n" ;//adding each value to textBox1, separated by new line
}