Devuelve las claves y los valores de un diccionario

Crea un método que reciba un Dictionary<string, object> y devuelva las claves y los valores en dos arreglos dentro de un object[][]: el primero contiene las claves y el segundo, sus valores correspondientes. Devuelve las claves ordenadas alfabéticamente y los valores correspondientes en el mismo orden.

Ejemplos

Program.KeysAndValues(new System.Collections.Generic.Dictionary<string, object> { { "a", 1 }, { "b", 2 }, { "c", 3 } })
➞ new object[][] { new object[] { "a", "b", "c" }, new object[] { 1, 2, 3 } }

Program.KeysAndValues(new System.Collections.Generic.Dictionary<string, object> { { "a", "Apple" }, { "b", "Microsoft" }, { "c", "Google" } })
➞ new object[][] { new object[] { "a", "b", "c" }, new object[] { "Apple", "Microsoft", "Google" } }

Program.KeysAndValues(new System.Collections.Generic.Dictionary<string, object> { { "key1", true }, { "key2", false }, { "key3", null } })
➞ new object[][] { new object[] { "key1", "key2", "key3" }, new object[] { true, false, null } }

Notas

Recuerda ordenar las claves.