如何修改C#代码实现输出1到n的所有数字并写入文件
问题解决思路
你现有代码的核心问题是没有将输入内容转换为整数n并生成1到n的数字序列,只是单纯把用户输入的字符原样拼接输出了。修改逻辑如下:
- 先将用户输入的字符串转换为整数类型的
n,可增加简单的合法性校验避免非数字输入报错 - 生成1到
n的连续整数序列,用制表符\t拼接所有元素 - 将拼接结果输出到控制台并写入文件
修改后完整代码
{ Console.WriteLine("Please input value of n: "); // 校验输入是否为合法正整数 if (!int.TryParse(Console.ReadLine(), out int n) || n < 1) { Console.WriteLine("请输入有效的正整数"); return; } // 生成1到n的序列,用制表符拼接 string output = string.Join('\t', Enumerable.Range(1, n)); Console.WriteLine("1 through n: "); Console.WriteLine("{0}", output); // 写入文件 File.WriteAllText("1ton.txt", output); }
关键修改说明
- 替换了原有的字符数组遍历拼接逻辑,改用
int.TryParse处理用户输入,避免非数字输入导致的程序异常 - 调用
Enumerable.Range(1, n)直接生成1到n的整数序列,无需手动循环累加 - 用
string.Join('\t', 序列)直接实现制表符分隔的拼接效果,代码更简洁高效
内容的提问来源于stack exchange,提问作者Rowan Burghart
相关产品推荐
相关产品推荐

