Overload.cs
public class Overload
{
public static void Display(params object[] objectParamArray)
{
foreach (object obj in objectParamArray)
{
Console.Write(obj.GetType().FullName + " ");
}
Console.WriteLine();
}
}
Program.cs
class Program
{
static void Main(string[] args)
{
object[] objArray = { 100, "Akhil", 200.300 }; //Массив
object obj = objArray; //Массив как объект
Overload.Display(objArray);
Overload.Display((object)objArray); //Массив, приведённый к объекту
Overload.Display(obj);
///Почему бы не пойти глубже? :D
Overload.Display((object[])obj); //Массив, как объект, приведённый к массиву
Console.ReadKey();
}
}
В консоли мы увидим:
System.Int32 System.String System.Double
System.Object[] System.Object[] System.Int32 System.String System.Double
То есть, в первом и в четвёртом случаях массив передаётся именно как массив, заменяя собой objectParamArray, а во втором и третьем случаях массив передаётся как единичный объект, из которого создаётся новый массив из одного элемента.
Do'stlaringiz bilan baham: |