Задача №14. Создать класс для хранения данных встроенных типов в виде одномерного массива. Тип элементов массива – object. Описать методы проверки на соответствия всех чисел массива символам, целым и дробным числам. Если данные не соответствуют проверяемому типу генерируется исключение.
Максимальная оценка – 4 балла.
using System;
using System.Linq;
public class ObjectArray
{
private object[] data;
public ObjectArray(object[] array)
{
data = array;
}
public void CheckAllChars()
{
foreach (var item in data)
{
if (!(item is char))
throw new InvalidOperationException($"Элемент '{item}' не является символом");
}
}
public void CheckAllIntegers()
{
foreach (var item in data)
{
if (!(item is int || item is long || item is short || item is byte))
throw new InvalidOperationException($"Элемент '{item}' не является целым числом");
}
}
public void CheckAllFloats()
{
foreach (var item in data)
{
if (!(item is float || item is double || item is decimal))
throw new InvalidOperationException($"Элемент '{item}' не является дробным числом");
}
}
}
class Program
{
static void Main()
{
var arr = new ObjectArray(new object[] { 'a', 'b', 'c' });
arr.CheckAllChars(); // OK
var arr2 = new ObjectArray(new object[] { 1, 2, 3 });
arr2.CheckAllIntegers(); // OK
var arr3 = new ObjectArray(new object[] { 1.5, 2.7, 3.14 });
arr3.CheckAllFloats(); // OK
var arr4 = new ObjectArray(new object[] { 1, "test", 3.5 });
arr4.CheckAllIntegers(); // Исключение
}
}