Pustość i rozmiar
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 60 z 66.
Zbiory HashSet udostępniają metody sprawdzania, czy są puste, oraz określania ich rozmiaru.
Utwórz pusty HashSet
HashSet<string> colors = new HashSet<string>();Sprawdź, czy HashSet jest pusty, używając Count
bool isEmpty = colors.Count == 0;
// isEmpty ma wartość trueDodaj kilka elementów do HashSet
colors.Add("Red");
colors.Add("Blue");
colors.Add("Green");Pobierz rozmiar zbioru HashSet
int size = colors.Count;
// size wynosi 3Możesz także sprawdzić, czy HashSet jest pusty, używając metody Any()
bool hasElements = colors.Any();
// hasElements ma wartość true, ponieważ zbiór zawiera elementyWyzwanie
ŁatwyUtwórz metodę o nazwie CountAndCheck, która przyjmuje jako argument zbiór HashSet ciągów znaków. Metoda powinna:
- Sprawdzić, czy HashSet jest pusty.
- Wypisać "Empty set", jeśli jest pusty.
- W przeciwnym razie wypisać "Set contains {count} elements", gdzie {count} to liczba elementów w HashSet.
Spróbuj swoich sił
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void CountAndCheck(HashSet<string> set)
{
// Wpisz tutaj swój kod
}
static void Main(string[] args)
{
// Wczytaj dane wejściowe zawierające elementy HashSet oddzielone przecinkami
// Jeśli dane wejściowe są puste, utwórz pusty HashSet
string input = Console.ReadLine();
HashSet<string> set = new HashSet<string>();
if (!string.IsNullOrEmpty(input))
{
string[] elements = input.Split(',');
foreach (string element in elements)
{
set.Add(element.Trim());
}
}
CountAndCheck(set);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Tablice wielowymiarowe
Podstawy tablic 2DDeklarowanie i inicjalizacja tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DTablice postrzępionePodstawowe operacje na macierzachPodsumowanie — tablice wielowymiarowe4Techniki sterowania przepływem
Wczesne zwrotyKlauzule ochronneInstrukcje skoku (goto)Break i continueSpłaszczanie zagnieżdżonych warunków7Zaawansowane operatory logiczne
Ewaluacja z krótkim spięciemWarunkowe operatory logicznePriorytet operatorówPowtórzenie — zaawansowane operatory2Zaawansowane podejmowanie decyzji
Wiele warunkówZłożona logika Boole’aPorównanie if i switchZagnieżdżone instrukcje switchPodsumowanie — zaawansowane decyzje5Obsługa wyjątków
Podstawy try-catchTypy wyjątkówWiele bloków catchPraca z plikamiBlok finallyusing a try-finallyWłasne wyjątkiPowtórzenie — obsługa błędów8System analizy danych
Konfiguracja zbierania danychLogika wprowadzania danych11HashSet część 1
Czym jest HashSet?Dodawanie elementuUsuwanie elementuSprawdzanie, czy element istniejePustość i rozmiarPodsumowanie — HashSet3Udoskonalenia pętli
Wydajność pętliIterowanie po złożonych strukturachKażdy typ pętliRefaktoryzacja pętliPodsumowanie — zoptymalizowane pętle6Obsługa wartości null
Podstawy referencji nullTypy wartości dopuszczające nullWzorce sprawdzania nullProgramowanie defensywnePodsumowanie — bezpieczeństwo nullPoćwicz samodzielnie: Kompilator C# online