Преобразования между массивами зависят от их размерности и возможности преобразования между типами элементов.
Неявное преобразование массива S в массив T возможно в том случае, если, во-первых, эти массивы обладают одинаковой размерностью, во-вторых, для ссылок на элементы S существует неявное преобразование в тип T, и, в-третьих, S и T являются ссылочными типами. Другими словами, массив ссылок на класс можно преобразовать в массив типа, являющегося базовым для данного класса.
К явным преобразованиям предъявляются аналогичные требования, за исключением того, что элементы S должны явно преобразовываться к типу элементов T:
using System;
class Test
{
public static void PrintArray(object[] arr)
{
foreach (object obj in arr)
Console.WriteLine("Word: {0}", obj);
}
public static void Main()
{
string s = "I will not buy this record, it is scratched.";
char[] separators = {' '};
string[] words = s.Split(separators);
PrintArray(words);
}
}
В данном примере массив слов (типа string) передается в качестве массива object, поскольку каждый элемент массива может быть преобразован к object.
0 коммент.:
Отправить комментарий