C#实现数字半三角形打印代码运行报错,请求排查且不限循环实现方式
报错核心原因
- 原代码中冗余的空字符串拼接写法
"" + j,在低版本C#编译器/老旧运行环境下会被解析异常,触发语法错误。实际上Console.Write原生支持直接输出整型数值,完全不需要额外拼接空字符串。 - 提前在循环外声明
i、j的写法,在部分受限编译环境下也会触发作用域相关的编译问题。
修正后可正常运行的实现
using System; public class Program { public static void Main() { // 循环变量直接在for语句内声明,兼容性更强 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { // 直接输出整型数值,避免冗余拼接带来的兼容问题 Console.Write(j); } Console.WriteLine(); } } }
运行输出效果:
1
12
123
1234
12345
123456
1234567
12345678
123456789
简洁实现版本(无双层循环嵌套)
如果不想使用双层for循环嵌套,可以借助LINQ快速生成每行的数字串:
using System; using System.Linq; public class Program { public static void Main() { for (int i = 1; i <= 9; i++) { Console.WriteLine(string.Concat(Enumerable.Range(1, i))); } } }
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

