C # params Objekt [] seltsames Verhalten

Betrachten Sie diesen Code

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] strings = new string[] { "Test1", "Test2", "Test3" };

            int[] ints = new int[] { 1, 2, 3, 4 };

            Test(strings);

            Test(ints);
        }

        public static void Test(params object[] objects)
        {
        }
    }
}

Und diese Seitehttps: //msdn.microsoft.com/fr-ca/library/w5zay9db.asp

Ich würde erwarten, dass (params object [] objects) ein Array eines Elements mit einem String [] als erstem Element ist, aber wenn ich debugge, sehe ich, dass (params object [] objects) {"Test1", " Test2 "," Test3 "}.

Mit int [] erhalte ich jedoch ein Objekt [] mit int [] als erstem Element.

Ist das undefiniertes Verhalten? Hängt das von der .Net Framework Version / Mono Version ab?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage