Vacío y tamaño
Parte de la sección Lógica y Flujo del Journey de C# de Coddy. Lección 60 de 66.
Los HashSets proporcionan métodos para comprobar si están vacíos y para determinar su tamaño.
Crea un HashSet vacío
HashSet<string> colors = new HashSet<string>();Comprueba si el HashSet está vacío usando Count
bool isEmpty = colors.Count == 0;
// isEmpty es verdaderoAgrega algunos elementos al HashSet
colors.Add("Red");
colors.Add("Blue");
colors.Add("Green");Obtén el tamaño de HashSet
int size = colors.Count;
// size es 3También puedes comprobar si un HashSet está vacío mediante el método Any()
bool hasElements = colors.Any();
// hasElements es true ya que el conjunto contiene elementosDesafío
FácilCrea un método llamado CountAndCheck que acepte un HashSet de cadenas como argumento. El método debe:
- Comprobar si el HashSet está vacío.
- Imprimir "Empty set" si está vacío.
- De lo contrario, imprimir "Set contains {count} elements", donde {count} es el número de elementos del HashSet.
Pruébalo tú mismo
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void CountAndCheck(HashSet<string> set)
{
// Escribe tu código aquí
}
static void Main(string[] args)
{
// Lee la entrada para elementos de HashSet separados por comas
// Si la entrada está vacía, crea un HashSet vacío
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);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Arrays multidimensionales
Conceptos básicos de arrays 2DDeclaración e inicialización de arrays 2DAcceso a elementos de arrays 2DBucles anidados con arrays 2DArrays irregularesOperaciones comunes con matricesRepaso: arrays multidimensionales4Técnicas de control de flujo
Retornos anticipadosCláusulas de guardaSentencias de salto (goto)Break y ContinueAplanar condicionales anidados7Operadores lógicos avanzados
Evaluación de cortocircuitoOperadores lógicos condicionalesPrecedencia de operadoresRepaso: operadores avanzados2Toma de decisiones avanzada
Múltiples condicionesLógica booleana complejaComparación entre If y SwitchSentencias Switch anidadasRepaso: decisiones avanzadas5Manejo de excepciones
Fundamentos de Try-CatchTipos de excepcionesMúltiples bloques CatchTrabajo con archivosBloque FinallyUso de Using frente a Try-FinallyExcepciones personalizadasRepaso: manejo de errores8Sistema de análisis de datos
Configuración de recopilación de datosLógica de entrada de datos11HashSet Parte 1
¿Qué es un HashSet?Agregar un elementoEliminar un elementoComprobar si existe un elementoVacío y tamañoRepaso - HashSet3Mejoras de bucles
Rendimiento de buclesIteración de estructuras complejasCada tipo de bucleRefactorización de buclesRepaso: bucles optimizados6Manejo de valores nulos
Conceptos básicos de referencias nulasTipos de valor anulablesPatrones de comprobación de valores nulosProgramación defensivaRepaso: seguridad frente a valores nulosPractica por tu cuenta: Compilador de C# online