我需要向用户请求一个字,然后将分别写入 ,例如:
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]);
}
答案 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);