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?