为什么此字符串数组为空?

时间:2019-11-24 13:21:14

标签: c# arrays

无法弄清楚为什么这不起作用?当我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" }));
        }
    }

1 个答案:

答案 0 :(得分:3)

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

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

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