编译器在c#中打印奇怪的值

-1 c#

我在C#中使用方法。我返回了一些东西,但是编译器没有打印我期望的东西。它正在打印(system.string [])。我不知道为什么请帮忙。

class Program
{
    static void Main(string[] args)
    {
        string[] sub = subjects();
        Console.WriteLine(sub);
    }
    public static string[] subjects()
    {
        Console.WriteLine("Please Enter How many Subject Do you Want to input");
        int limit = System.Convert.ToInt32(Console.ReadLine());
        string[] Subjects = new string[limit];
        for (int i = 0; i < limit; i++)
        {
            Console.WriteLine("Please Enter Subject Name " + i);
            Subjects[i] = Console.ReadLine();
        }
        return Subjects;

    }
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*lak 5

Program正在打印的原因system.string[]是因为class string[]没有覆盖ToString方法,所以使用默认值,默认ToString返回类型名称,而不是类型内部的“值”。

例如,您可以使用String.Join方法从字符串数组构建一个字符串,并将给定的定界符放在每个字符串之间:

Console.WriteLine(String.Join(", ", sub));
Run Code Online (Sandbox Code Playgroud)