所以我一直在自己做任务。我开始做这个测试,我知道如何解决除了读取和存储之外的每个部分。每当我有这样的任务时,它们只用换行符或制表符分隔,但在这里两者兼而有之。下面是文本文件的样子:
# 01 15 // Each new day is marked with a # and then we have the date next to it They are separated by tabulators. Galagonya Alfonz OXXXXXX // In a new line we the name and other information which is not relevant here. They are separated by tabulators
我阅读了一些可以阅读它们并用开关将它们分开的论坛,但我没有设法使其正常工作。它未能存储所有数据。它要么存储奇数天,要么存储偶数天。
struct Data
{
public string New_Day_Marker;
public string Month; // I know I'm not supposed to store them as a string but if I tried to convert them it gave me a formatting error.
public string Day;
public string Name;
public string Was_There;
}
static void Main(string[] args)
{
List<Data> Lista = new List<Data>();
Data seged = new Data();
string sor;
int index = 0;
StreamReader sr = new StreamReader("naplo.txt");
while (!sr.EndOfStream)
{
sor = sr.ReadLine();
switch (index % 2 )
{
case 0:
seged.New_Day_Marker = (sor.Split(' ')[0]);
seged.Month = (sor.Split()[1]);
seged.Day = (sor.Split()[2]);
break;
case 1:
seged.Name=(sor.Split(' ')[0]);
seged.Was_There = (sor.Split()[1]);
break;
}
switch (index % 3)
{
case 0:
seged.New_Day_Marker = (sor.Split(' ')[0]);
seged.Month = (sor.Split()[1]);
seged.Day = (sor.Split()[2]);
break;
case 1:
seged.Name = (sor.Split(' ')[0]);
seged.Was_There = (sor.Split()[1]);
break;
}
if (index % 3 == 1)
Lista.Add(seged);
index++;
}
我是自学的,因为我们已经有一年左右没有老师了,所以请大家谅解。