DistinctBy en C#
Deduplicar por una clave conservando los elementos completos.
var visits = new[]
{
(User: "ada", Page: "/home"), (User: "alan", Page: "/docs"),
(User: "ada", Page: "/docs"), (User: "kurt", Page: "/home"),
};
// DistinctBy conserva el primer elemento visto de cada clave
var firstPerUser = visits.DistinctBy(v => v.User);
foreach (var (user, page) in firstPerUser)
{
Console.WriteLine($"{user} landed on {page}");
}
Console.WriteLine(visits.DistinctBy(v => v.Page).Count());
Cómo funciona
DistinctBy(v => v.User)conserva la primera visita por usuario.- Los elementos sobreviven intactos — solo la clave dirige la comparación.
- Contar por
Pagemuestra la misma herramienta sobre otra clave.
Palabras clave y builtins usados aquí
foreachinnewvar
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 412
- Tokens
- 104
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 73 segundos.
Paso 3 de 3 en Cortes; paso 6 de 17 en LINQ a fondo.