0

我正在制作一个应用程序,我几乎完成了。我只需要知道如何流式读取 txt 列表和 foreach 行,添加数字 0-x(x 将是用户在文本框中输入的数字)并将其添加到列表中。所以基本上,它会是这样的

您导入一个列表,其中一行是“dog”,另一行是“cat”,第三行是“fish”。您在文本框中键入“5”。该应用程序将所有这些都放入一个列表中:

狗1
狗2
狗3
狗4
狗5
猫1
猫2
三类
第四类
猫5
鱼1
鱼2
鱼3
鱼4
鱼5

谢谢!

4

5 回答 5

4

下面的代码应该适合你。我假设您可以count自己获得价值。

var animals = File.ReadAllLines("yourFile.txt"); //new[] {"dog", "cat", "fish"};
var count = 5;

var merged =
    from a in animals
    from n in Enumerable.Range(1, count)
    select a + n;

foreach (var m in merged)
    Console.WriteLine(m);  //act on each however you want
于 2012-06-19T14:44:51.740 回答
1

您可以使用File.ReadAllLines. 这为您提供了一个可以迭代的数组foreach

在这个foreach循环中,您可以执行另一个循环,从 1 到用户输入的数字。int.Parse可以方便地将用户输入的字符串转换为 C# 可以使用的数字。对于实际的迭代,您可以使用for循环

然后,您可以将每个项目添加到列表中。

于 2012-06-19T14:47:31.097 回答
0

这里有一个很好的例子来读取文件流中的每一行:http: //msdn.microsoft.com/en-us/library/e4y2dch9.aspx

于 2012-06-19T14:45:02.517 回答
0
private List<string> GetThings(string fileName, int count)
    {
        string[] lines = File.ReadAllLines(fileName);
        List<string> result = new List<string>();
        foreach (string item in lines)
        {
            for (int i = 1; i <= count; i++)
                result.Add(item + i.ToString());
        }
        return result;
    }
于 2012-06-19T14:48:48.787 回答
0
        string[] inputList = File.ReadAllLines("yourFile.txt");
        List<String> listOfThings = new List<String>();
        foreach (string i in inputList)
        {
            for (int k = 0; k < 5; k++)
            {
                listOfThings.Add(i + " " + k.ToString());
            }
        }

然后,您可以像这样打印出列表:

foreach (string outp in listOfThings)
 {
   Console.WriteLine(outp);
 }

输出:

some value 0
some value 1
some value 2
some value 3
some value 4
some other value 0
some other value 1
some other value 2
some other value 3
some other value 4
于 2012-06-19T14:51:51.860 回答