use*_*332 0 c# arrays text-files
我有这个文本文件
688.63 C 1 C 0 0 0
698.70 C 1 C 0 0 0
708.89 C 1 C 0 0 0
716.78 C 1 C 0 0 0
718.97 C 1 C 0 0 0
728.27 C 1 C 0 0 0
728.89 C 1 C 0 0 0
738.82 C 1 C 0 0 0
759.00 C 1 C 0 0 0
Run Code Online (Sandbox Code Playgroud)
问题是如何读取这个数组中的每一列?如果我想访问列的特定值呢?就像第一列的第二个值。
您可以使用File.ReadAllLines方法。
打开一个文本文件,读取文件的所有行,然后关闭文件。
来自 MSDN 的示例;
string path = @"c:\temp\MyTest.txt";
string[] lines = File.ReadAllLines(path);
Run Code Online (Sandbox Code Playgroud)
这将创建一个数组,逐行保留为字符串。
如果我想访问列的特定值呢?像第一列的值 2
如果所有值之间的空格相同,则可以使用String.Split类似的方法;
string s = "688.63 C 1 C 0 0 0";
var array = s.Split(new string[]{" "}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(array[1]); // Prints "C"
Run Code Online (Sandbox Code Playgroud)
这里一个demonstration.
在您的情况下,您可以使用;
var array = lines[1].Split(new string[]{" "}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(array[0]); // Prints "698.70"
Run Code Online (Sandbox Code Playgroud)
line[1]让你在你的文本的第二行,并array[0]让你得到这一行的第一个值,即698.70.
我希望它像这样打印 688.63 698.70 708.89 第一列的所有值不仅显示第一个值。
你可以使用foreach喜欢;
string[] lines = File.ReadAllLines(path);
foreach(var line in lines)
{
var firstValue = line.Split(new string[]{" "}, StringSplitOptions.RemoveEmptyEntries)[0];
Console.WriteLine(firstValue);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17979 次 |
| 最近记录: |