• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

If sprawdzający długość listy

Object Storage Arubacloud
0 głosów
141 wizyt
pytanie zadane 5 lutego 2022 w C# przez chrystian Gaduła (4,780 p.)
  int a = Convert.ToInt32(Console.ReadLine());
            if(list[a] > list.Count-1)

Chciałbym zabezpieczyc sie przed podaniem elemetnu nie nalezacym do list lecz dostaje bład  

Operator '>' cannot be applied to operands of type 'object' and 'int'    

2 odpowiedzi

0 głosów
odpowiedź 5 lutego 2022 przez Oscar Nałogowiec (29,290 p.)
wybrane 5 lutego 2022 przez chrystian
 
Najlepsza

A czy przypadkiem nie chciałeś napisać coś takiego:

int a = Convert.ToInt32(Console.ReadLine());
          if(a > list.Count-1)

 

komentarz 5 lutego 2022 przez chrystian Gaduła (4,780 p.)
tak tylko bez -1 bo ostaniego indexu nie wyswietla
+2 głosów
odpowiedź 5 lutego 2022 przez Velta Maniak (52,010 p.)
edycja 5 lutego 2022 przez Velta

LINQ ma sprytne rozszerzenie ElementAtOrDefault:

if (list.ElementAtOrDefault(a) != null)
{
    // do the magic
}

Ewentualnie stworzyć metodę rozszerzającą dla wygody:

public static class CollectionExtensions
{
    public static bool ElementAtIndexExists(this IEnumerable<T> collection, int index)
    {
        return collection.ElementAtOrDefault(index) != null; // lub default, jeżeli T to prymityw
    }
}

Lub po prostu przechwycić wyjątek ArgumentOutOfRangeException dla wywołania indeksera listy:

try
{
    // jakieś wywołanie list[a]
}
catch (ArgumentOutOfRangeException ex)
{
    Console.WriteLine($"Wystąpił problem z wykonaniem operacji:{Environment.NewLine}{ex.Message}");
}

 

Podobne pytania

0 głosów
2 odpowiedzi 114 wizyt
pytanie zadane 19 marca 2016 w C i C++ przez TheFeniks Gaduła (4,690 p.)
0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 18 stycznia 2020 w C# przez r.mar Początkujący (470 p.)
0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 2 lipca 2017 w C# przez Yoshua Nowicjusz (200 p.)

92,567 zapytań

141,420 odpowiedzi

319,616 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...