我在Win Form中有一个小应用程序,它可以接收用户输入的数据,并将其放入逗号分隔的文本文件中。
我希望能够在下次启动数据时将其加载回应用程序中。
数据取自用户和程序生成的5个文本框。因此txt文件如下所示:
123,12345,ABC ABC,00:00:10,ABC ABC
124,12345,ABC ABC,00:00:15,ABC ABC
值会根据用户输入的内容而变化-但是,仅FIRST项需要是唯一的-其他项可以并且经常会重复。
所以我用过:
创建一个列表,然后使用以下代码来决定如何进行:
一旦有了计数,就可以按照以下逻辑编写许多IF语句:
这可行,但是需要我对十二组文本框(最后一个TextBox是HoldS12)执行十二次-这意味着到我到达最后一个文本框时,我将拥有另一个if语句,该语句较长而不是整个程序代码的总和。
我对此很陌生,只是觉得也许有比重复一遍又一遍代码更好的方法。我的意思是这行得通,但是我无法想象这是一个好方法。
我希望能够在下次启动数据时将其加载回应用程序中。
数据取自用户和程序生成的5个文本框。因此txt文件如下所示:
123,12345,ABC ABC,00:00:10,ABC ABC
124,12345,ABC ABC,00:00:15,ABC ABC
值会根据用户输入的内容而变化-但是,仅FIRST项需要是唯一的-其他项可以并且经常会重复。
所以我用过:
C#:
List<string> lines = File.ReadAllLines("../../../txtFile.txt").ToList();
创建一个列表,然后使用以下代码来决定如何进行:
C#:
int sizeoflist;
sizeoflist = lines.Count();
一旦有了计数,就可以按照以下逻辑编写许多IF语句:
C#:
if (sizeoflist == 1)
{
string[] entries = lines[0].Split(',');
HoldS1.Text = entries[0].ToString();
HoldC1.Text = entries[1].ToString();
HoldP1.Text = entries[2].ToString();
HoldT1.Text = entries[3].ToString();
desctbox1.Text = entries[4].ToString();
}
else if (sizeoflist == 2)
{
string[] entries = lines[0].Split(',');
string[] entries2 = lines[1].Split(',');
HoldS1.Text = entries[0].ToString();
HoldC1.Text = entries[1].ToString();
HoldP1.Text = entries[2].ToString();
HoldT1.Text = entries[3].ToString();
desctbox1.Text = entries[4].ToString();
HoldS2.Text = entries2[0].ToString();
HoldC2.Text = entries2[1].ToString();
HoldP2.Text = entries2[2].ToString();
HoldT2.Text = entries2[3].ToString();
desctbox2.Text = entries2[4].ToString();
}
这可行,但是需要我对十二组文本框(最后一个TextBox是HoldS12)执行十二次-这意味着到我到达最后一个文本框时,我将拥有另一个if语句,该语句较长而不是整个程序代码的总和。
我对此很陌生,只是觉得也许有比重复一遍又一遍代码更好的方法。我的意思是这行得通,但是我无法想象这是一个好方法。