需要将每个数字0-x添加到行尾?

时间:2012-06-19 14:40:19

标签: c# list stream

我正在制作应用程序而且我差不多完成了。我只需要知道如何流式传输txt列表和foreach行,添加数字0-x(x将是用户放入文本框中的数字)并将其添加到列表中。基本上,就像这样

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

dog1
dog2
dog3
dog4
dog5
cat1
cat2
cat3
cat4
cat5
fish1
fish2
fish3
fish4
fish5

谢谢!

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您可以使用File.ReadAllLines阅读文本文件。这为您提供了一个可以使用foreach迭代的数组。

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

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

答案 2 :(得分:0)

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

答案 3 :(得分: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;
    }

答案 4 :(得分: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