
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Inyección de dependencias en ASP.NET Core(actualizado)
José M. Aguilar - Añadir al routing de Blazor páginas definidas en otros proyectos o ensamblados
José M. Aguilar
.NET Core / .NET
- Flexible PDF Reporting in .NET Using Razor Views
Milan Jovanović - MemoryCache in C#: A Practical Guide
Metalama Team - Local Functions vs Lambda Expressions in C#
Bozo Spoljaric - Creating hashes in .NET
Damien Bowden - How to find a client's geolocation in .NET with IP lookup
David Grace - Publish a console app as a single executable
Bart Wullems - How to output a SARIF file from a .NET project
Gérald Barré - An immutable priority collection
Mark Seemann - Exploring the generated code: the spread element
Andrew Lock - Readonly, Immutable, and Frozen Collections in .NET
NDepend Team - How to Read appsettings.json in a .NET Console Application
Matheus Dasuke - Scan HTML faster with SIMD instructions: .NET/C# Edition
Daniel Lemire

Cuando en un bucle for
necesitamos más de una variable de control, lo habitual es inicializarlas fuera del bucle y luego usarlas en su interior, por ejemplo, como en el siguiente código:
int j = 0;
for (int i = 0; i < 10 && j < 100; i++)
{
Console.WriteLine($"i = {i}, j = {j}");
j+= 10;
}

Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Miembros de inicialización obligatoria en C#11 (required members)
José M. Aguilar - Tag helpers en ASP.NET Core MVC: Introducción
José M. Aguilar
.NET Core / .NET
- Primary constructors
Mark Downie - Proxy Design Pattern in C#
Ahsan Ullah - How to Generate Large Datasets in .NET for Excel With OpenXML
Artem Rudiakov - Exploring the generated code: T[], Span<T>, and Immutable collections
Andrew Lock - When to create a new .csproj?
NDepend Team - ReadOnlySet<T> in .NET 9
Steven Giesel - C# Tip: Path.Combine and Path.Join are similar but way different.
Davide Bellone

Blazor ha venido en ASP.NET Core 8 cargadito de novedades, aunque probablemente la más destacable sea la introducción de las Blazor Web Apps como modelo de proyecto que unifica los distintos modos de renderizado de componentes. Aunque se trata de un cambio positivo, la realidad es que ha complicado algunas cosas que antes, con unos modelos de proyecto más sencillos, eran más fáciles de implementar.
Un ejemplo claro lo tenemos en las páginas de error 404 (not found): con este nuevo modelo unificado no hay una fórmula trivial o integrada de serie en el framework para implementar esta funcionalidad, tan habitual en nuestras aplicaciones.
En este post vamos a ver un posible enfoque para conseguir que si un usuario introduce una ruta inexistente en el navegador o bien pulsa un enlace interno que no exista, podamos mostrarle una página de error 404 totalmente personalizada, implementada como componente Blazor, e integrada en nuestra Blazor Web App.

Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- ¡No uses ToLower() o ToUpper() para comparar cadenas en C#!
José M. Aguilar - El archivo _ViewImports en ASP.NET Core MVC
José M. Aguilar
.NET Core / .NET
- Refactor your code with default lambda parameters
David Pine - Cancellation Tokens in C#
Rasheed K Mozaffar - When does the try, catch and finally blocks run in C#?
David Grace - Collection Performance: Introducing FrozenSet in .NET 8: Benefits and Benchmark PerformanceCollection Performance
David McCarter - Privacy and security improvements in .NET modernization tooling
Mike Rousos - How to Cast an Int to an Enum in C#
Chris Pietschmann - Exploring the generated code: List<T> and fallback cases
Andrew Lock - How to Ignore a Property in AutoMapper
Żaneta Borowska - C#: Read Text and JSON File Contents into Variable in Memory
Chris Pietschmann - How to Use FakeLogger to Test Logging Code in .NET
Osman Sokuoglu - How to Use C# to Properly Follow OAuth Authentication Flows
Peter Smulovics - C# 13 params collections
NDepend Team - What Does the null! Statement Do?
Januarius Njoku - Announcing Third Party API and Package Map Support for .NET Upgrade Assistant
Marco Goertz - The Best Way To Map Objects in .Net in 2024
Anton Martyniuk