我怎样才能遍历文本文件中 n:th 行之后的数据?
How can I possibly iterate through data after n:th row in a text file?
我有一个文本文件,我认为我需要在其中迭代以获取所有数据。
这是文本文件的构造方式:
第 1-9 行是有关将收到发票的公司的信息。
第 10 行显示项目的数量。
例如,如果第 10 行是 2,则以下行如下所示:
11 Milk "description of first item"
12 4 "quantity of item 1"
13 25 "price"
14 Condoms "description of second item"
15 10 "quantity of item 2"
16 2.5 "price"
我现在想做的是一步一步地浏览文件,然后当我到达第 10 行时,以某种方式遍历项目的数量,在这个案例 2 中,然后创建一个对象上述文本文件中的数据。这是一个五步程序。
算法:
一步步阅读文本文件
添加列表中的每一行
将整数计数增加 1
验证计数是否等于 9(项目数量之前的行)
如果计数为 9 遍历该行显示的数据,在本例中为 2。
我无法在我的算法中建立数字 5。这是解释成代码的算法:
fstream = new FileStream(file, FileMode.Open);
sReader = new StreamReader(fstream);
invoice = new Invoice();
List<string> s = new List<string>();
List<Items> itms = new List<Items>();
while ((line = sReader.ReadLine()) != null)
{
s.Add(line);
}
for (int i = 0; i < s.Count; i++)
{
count++;
//Step 4
if (count == 9)
{
//Step 5.
}
以及如何显示应该有两个对象,一个以第 11-13 行作为参数(s[11]、s[12]、s[13]),另一个以 14-16 行作为参数?
这样的事情怎么样:
var lines = File.ReadAllLines( file );
// check number of lines here, make sure there are at least nine and
// that the count is a multiple of three
for( int i = 9; i < lines.Length; i += 3 )
{
string desc = lines[i + 0],
qty = lines[i + 1],
price = lines[i + 2];
// do work here (step 5)
}
还有更奇特的方法,但这应该可以帮助您入门。
我有一个文本文件,我认为我需要在其中迭代以获取所有数据。 这是文本文件的构造方式: 第 1-9 行是有关将收到发票的公司的信息。 第 10 行显示项目的数量。 例如,如果第 10 行是 2,则以下行如下所示:
11 Milk "description of first item"
12 4 "quantity of item 1"
13 25 "price"
14 Condoms "description of second item"
15 10 "quantity of item 2"
16 2.5 "price"
我现在想做的是一步一步地浏览文件,然后当我到达第 10 行时,以某种方式遍历项目的数量,在这个案例 2 中,然后创建一个对象上述文本文件中的数据。这是一个五步程序。
算法:
一步步阅读文本文件
添加列表中的每一行
将整数计数增加 1
验证计数是否等于 9(项目数量之前的行)
如果计数为 9 遍历该行显示的数据,在本例中为 2。
我无法在我的算法中建立数字 5。这是解释成代码的算法:
fstream = new FileStream(file, FileMode.Open);
sReader = new StreamReader(fstream);
invoice = new Invoice();
List<string> s = new List<string>();
List<Items> itms = new List<Items>();
while ((line = sReader.ReadLine()) != null)
{
s.Add(line);
}
for (int i = 0; i < s.Count; i++)
{
count++;
//Step 4
if (count == 9)
{
//Step 5.
}
以及如何显示应该有两个对象,一个以第 11-13 行作为参数(s[11]、s[12]、s[13]),另一个以 14-16 行作为参数?
这样的事情怎么样:
var lines = File.ReadAllLines( file );
// check number of lines here, make sure there are at least nine and
// that the count is a multiple of three
for( int i = 9; i < lines.Length; i += 3 )
{
string desc = lines[i + 0],
qty = lines[i + 1],
price = lines[i + 2];
// do work here (step 5)
}
还有更奇特的方法,但这应该可以帮助您入门。