CiSharper
@CiSharper

Как вернуть значение из функции?

В классе есть метод, который возвращает значение массива по индексу. Как возвратить -1, если передаваемый индекс будет вне предела индексов массива?

class Arrays<T>
    { 
        public T GetValue(int k)
        {
            //if (k < 0 || k > array.Length)
                //как тут вернуть -1?
            return (array[k]);            
        }
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
@Sumor
Лучше так:
class Arrays<T>
    { 
        public T GetValue(int k)
        {
            if (k < 0 || k > array.Length)
                throw new IndexOutOfRanfeException();
            return (array[k]);            
        }

Хуже так:
class Arrays<T> where T : class
    { 
        public T GetValue(int k)
        {
            if (k < 0 || k > array.Length)
                return null;
            return (array[k]);            
        }

Ещё хуже так:
class Arrays<T> 
    { 
        public T GetValue(int k)
        {
            if (k < 0 || k > array.Length)
                return default(T);
            return (array[k]);            
        }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы