首页 > 解决方案 > 为什么这个字符串数组是空的?

问题描述

无法弄清楚为什么这不起作用?当我 console.writeline 循环内的值时, newFruits 包含正确的值。我得到的只是 System.String[] 作为输出

 public static string[] FuncSortItemsInList(string[] fruits)
        {
            Array.Sort(fruits);
            Array.Reverse(fruits);
            string[] newFruits = new string[fruits.Length];
            for (int i = 0; i< fruits.Length; i++)
            {              
                newFruits[i] = fruits[i];              
            }
            return newFruits; 
        }
    }
    class Program
    {
        static void Main()
        {
            //Food.SortItemsInList(new string[] { "Banana", "Apple", "Pineapple" }); 
            Console.WriteLine(Food.FuncSortItemsInList(new string[] { "Banana", "Apple", "Pineapple" }));
        }
    }

标签: c#arrays

解决方案


它不是空的,Console.WriteLine(object)在这种情况下会调用重载,因为您没有指定任何格式字符串。该重载调用ToString()传入的对象,在您的情况下是string[].

要获得预期的输出,您需要编写这样的代码

 Console.WriteLine(string.Join(", ", Food.FuncSortItemsInList(new string[] { "Banana", "Apple", "Pineapple" }));

推荐阅读