每行添加一个新字符C#

时间:2017-03-07 17:52:30

标签: c#

我需要向用户请求一个字,然后将分别写入 ,例如:

w
wo
wor
word

第一次在这里寻求帮助。我现在已经尝试了一个小时。

编辑:

Console.WriteLine("Enter a word:");

string word;
word = Console.ReadLine();

for (int i = 0; i < word.Length; i++)
{
     Console.WriteLine(word[i]);
}

3 个答案:

答案 0 :(得分:4)

所以你很接近,但正如你所看到的,在循环的每次迭代中,你只在单词中的索引i处写一个字母。

你需要做的(作为一个简单的解决方案)是创建另一个你“建立”的字符串,并在每次循环迭代时打印出来:

string builder = "";
for (int i = 0; i < word.Length; i++)
{
     builder += word[i];
     Console.WriteLine(builder);
} 

答案 1 :(得分:1)

您可以使用Substring解决问题:

Console.WriteLine("Enter a word:");

string word = Console.ReadLine();
for (int i = 0; i < word.Length; i++)
{
    Console.WriteLine(word.Substring(0, i+1));
} 

请参阅此fiddle

答案 2 :(得分:0)

您也可以使用LINQ实现它:

Console.WriteLine("Enter a word:");
string word = Console.ReadLine().Trim();
word.Select((c, i) => word.Substring(0, i + 1))
    .ToList()
    .ForEach(Console.WriteLine);