C#数组打印无间隔问题:输出为12152288如何修复?
修复C#数组输出无空格分隔的问题
你遇到的问题很常见——因为你在循环输出数组元素时,没有给每个元素添加分隔空格,所以Console.Write会把所有数字直接拼接在一起输出。这里有两种简单的修复方式:
方法1:修改输出格式字符串,添加空格
直接在格式化字符串里给每个元素后面加个空格,这样每次输出元素时都会附带一个分隔空格:
static void Main() { int[] numbers = {12, 15, 22, 88}; int x; double average; double total = 0; Console.Write("The numbers are..."); // 给格式字符串添加空格:{0} (注意{0}后面的空格) for(x = 0; x < numbers.Length; ++x) Console.Write("{0} ", numbers[x]); Console.WriteLine(); for(x = 0; x < numbers.Length; ++x) { total = total + numbers[x]; } average = total / numbers.Length; // 可添加平均值输出代码,比如:Console.WriteLine("Average: {0}", average); }
⚠️ 小提示:这种方法最后会多一个末尾空格,如果对输出格式要求严格,可以在循环结束后用Console.Write("\b")删掉最后一个空格,或者判断是否是最后一个元素再决定是否输出空格。
方法2:使用string.Join更简洁地拼接输出
C#提供了string.Join方法,可以直接把数组元素用指定分隔符拼接成字符串,不用手动写循环,还不会产生末尾空格:
static void Main() { int[] numbers = {12, 15, 22, 88}; int x; double average; double total = 0; Console.Write("The numbers are..."); // 直接用Join拼接数组元素,空格作为分隔符 Console.Write(string.Join(" ", numbers)); Console.WriteLine(); for(x = 0; x < numbers.Length; ++x) { total = total + numbers[x]; } average = total / numbers.Length; // 输出平均值示例 Console.WriteLine($"Average: {average}"); }
这种方法更简洁优雅,也是处理数组/集合输出分隔符的常用方式。
内容的提问来源于stack exchange,提问作者Josue Perez
相关产品推荐
相关产品推荐

