我正在制作应用程序而且我差不多完成了。我只需要知道如何流式传输txt列表和foreach行,添加数字0-x(x将是用户放入文本框中的数字)并将其添加到列表中。基本上,就像这样
您导入一行包含'dog'的列表,另一行导入'cat',第三行导入'fish'。在文本框中键入“5”。该应用程序将所有这些放入列表中:
dog1 dog2 dog3 dog4 dog5 cat1 cat2 cat3 cat4 cat5 fish1 fish2 fish3 fish4 fish5
谢谢!
答案 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