¿Cómo contar el número de apariciones de cada elemento en una matriz unidimensional en C#?
Por ejemplo, para contar el número de apariciones de cada elemento de la matriz en una matriz de números enteros. El método de implementación es el siguiente:
(1) Crear un proyecto de aplicación de consola en Visual Studio
Program.cs
¿Usar? Sistema;
¿Uso? sistema. recolectar. Genéricos;
¿Uso? sistema. Linq
¿Espacio de nombres? ConsoleApplication1
{
¿Clase? ItemInfo
{
///?ltSummary gt
///?ItemInfo? La clase registra el número de repeticiones de un elemento de matriz.
///?lt/summary gt;
///?ltparam? nombre="valor" gt. Valores de elementos de matriz
¿Públicos? ItemInfo(int? valor)
{
¿Valor? =?Valor;
¿Duplicado? =?1;
}
///?ltSummary gt
///?El valor del elemento de la matriz.
///?lt/summary gt;
¿Público? int? ¿valor? {?¿conseguir? configuración;? }
///?ltSummarygt
///?El número de repeticiones de elementos de la matriz
///?lt/summary gt;
¿Público? int? ¿repetir? {?¿conseguir? configuración;? }?
}
¿Clase? Programa
{
¿Electricidad estática? ¿Vacío? main(string[]? args)
{
//?La matriz de enteros que se va a contar
int[]? ¿respuesta? =?{?1,?1,?1,?3,?1,?2,?2,?1,?3,?4,?2,?1,?5,?3,?4?};
//?¿Montar? ¿dic? Se utiliza para almacenar resultados estadísticos.
Diccionario ltint,? Información del artículo gt? ¿dic? =?
¿Nuevo? ¿Diccionario ltint? ItemInfo gt();
//?¿Empezar a contar el número de repeticiones de cada elemento
foreach? (int? v? in? respuesta
{
Si? (diccontiene clave(v))
{
//? Elemento de matriz, ¿el número de apariciones aumentó? 1
DIC[v]. =?1;
Otros
{
/ /?La primera aparición de un elemento de matriz agrega un nuevo elemento a la colección
//?Nota? En el constructor de la clase ItemInfo, hay una repetición
/. /?Los tiempos están establecidos en ? 1
dic.Add(v,?new?ItemInfo(v);
}
}
foreach?(ItemInfo?Info?in?dic.Values)
{
Console.WriteLine("ArrayElement?{ 0}? ¿Cuántas veces aparece? { 1}",?
Información. ¿Valor? Información.repetir num);
}
}
}
③Ejecutar resultados