Страницы

Поиск по вопросам

среда, 19 декабря 2018 г.

Метод, возвращающий разные типы данных C#

Есть буфер в котором находится много значений переменных.Переменные записаны последовательно следующей структурой: сначала идет идентификатор типа данных(больше 20 вариантов), длинна данных и собственно сами данные. Вот в таком виде я примерно хочу получить ответ от метода (Код естественно не рабочий).
public var AnsParse(byte[] Array) { switch (Array[0]) { case 1: { int rezult = Array[2]; break; } case 2: { bool rezult = Array[2]; break; }
} return rezult; }
Есть ли возможность обойти это?


Ответ

Все объекты в C# наследники типа object, по этому вы можете использовать вместо var object.
А вообще я рекомендую вам воспользоваться generic'ами.
Использовать их можно например так:
class Program { static List GetInitializedList(T value, int count) { // This generic method returns a List with ten elements initialized. // ... It uses a type parameter. // ... It uses the "open type" T. List list = new List(); for (int i = 0; i < count; i++) { list.Add(value); } return list; }
static void Main() { // Use the generic method. // ... Specifying the type parameter is optional here. // ... Then print the results. List list1 = GetInitializedList(true, 5); List list2 = GetInitializedList("Perls", 3); foreach (bool value in list1) { Console.WriteLine(value); } foreach (string value in list2) { Console.WriteLine(value); } } }

Комментариев нет:

Отправить комментарий