2012-06-19 56 views
0

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

你在一行中输入'dog',在另一行输入'cat',在第三个输入'fish'。您在文本框中输入“5”。应用程序把所有这一切列入清单:

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

谢谢!

+1

你能证明你的代码? – Thousand

+1

你卡在哪里?向我们展示不按预期工作的代码。 – Botz3000

+0

我没有执行此操作的代码。我的代码选取了一个随机数字0-x,并且它没有为每个数字执行。它做dog1,cat2,fish3有点不过是随意的。我决定这样做会更容易,更好,并且完全符合我的需求。 – Lavi

回答

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 
+0

非常感谢!这工作完美! – Lavi

1

您可以阅读File.ReadAllLines的文本文件。这给你一个数组,你可以用foreach迭代。

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

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

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; 
    } 
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 
相关问题