.net

Linked Lists in C#

Having a look at C#'s built in link list implementation


Read more...


Cancel a task with OperationCanceledException

Why the OperationCanceledException should be used over a soft cancellation


Read more...


Anonymous types and with keyword

Using the with keyword to support non-destructive mutations on anonymous types


Read more...


Conditional attribute to exclude method execution

The Conditional attribute can be used to conditionally execute a method


Read more...


Using underscore as a digit separator

Underscores can be used a digit separator on numeric literals for ease of reading


Read more...


StringSyntaxAttribute for syntax highlighting

Leverage the new StringSyntaxAttribute to enhance the developer experience


Read more...


Null checking with the is keyword

Why you should do null checking with is keyword instead of ==


Read more...


Indices and ranges

Using indices and ranges for succinct syntax when working with sequences


Read more...


Using Func<> as an intermediary

How Func or Action can be used as an intermediary when calling methods


Read more...


ArgumentNullException improvements

How its becoming easier to throw argument null exceptions


Read more...


c# (255) .net (255) entityframework (20) ef (17) attribute (13) .net7 (12) sql (10) array (9) performance (9) string (9) roslyn (8) efcore (8) visualstudio (8) dictionary (7) task (7) linq (7) exception (6) list (6) api (6) entity framework (6) tuple (5) constructor (5) enum (5) iteration (5) DI (5) dependencyinjection (5) switch (5) minimalapi (5) ienumerable (5) codefix (5) code fix (5) analyser (5) analyzer (5) guide (5) analyzer-series (5) sourcegenerator (4) async (4) lambda (4) cache (4) lazy (4) interpolation (4) json (4) property (4) C#11 (4) configuration (4) indexer (4) anonymous (4) interface (3) await (3) foreach (3) endpoint (3) collection (3) operator (3) middleware (3) filter (3) flags (3) parallel (3) entityframeworkcore (3) func (3) .net6 (3) efcore6 (3) logging (3) generics (2) delay (2) count (2) length (2) generic (2) conversion (2) cancellation (2) null (2) controller (2) attributes (2) .net8 (2) http (2) query (2) unsafe (2) loop (2) groupby (2) context (2) dynamic (2) distributed (2) datetime (2) delete (2) select (2) init (2) initialization (2) local (2) implicit (2) index (2) new (2) separator (2) jagged (2) querystring (2) pooling (2) sort (2) readonly (2) parameters (2) bulk (2) literals (2) minimal (2) sqlserver (2) nameof (2) disposable (2) idisposable (2) global (2) parameter (2) patternmatching (2) schedule (2) contenttype (2) unittest (2) dbcontext (2) vs (2) database (2) tsql (2) guid (2) action (2) debugging (2) enumeration (2) static (2) goto (2) private (2) concurrentdictionary (2) lock (2) function (2) with (2) syntax (2) methods (2) invoke (2) injection (2) dependency (2) generator (2) extend (2) using (2) github (2) toolkit (1) sourcegeneratortoolkit (1) extensionmethod (1) extension (1) wrapup (1) unmapped (1) arraypool (1) expressionbody (1) comparer (1) ignorecase (1) methodgroup (1) accuracy (1) any (1) all (1) elide (1) name (1) linkgenerator (1) iparseable (1) bind (1) sql2022 (1) distinct (1) mvc (1) startup (1) distinctby (1) stopwatch (1) benchmark (1) converter (1) helpers (1) convention (1) holliday (1) break (1) frozen (1) httpmethod (1) tag (1) ef7 (1) unreachable (1) bytes (1) memory (1) allocated (1) parseable (1) warning (1) compiler (1) featureflag (1) short (1) nullcoalescing (1) associativity (1) preview (1) distributedcache (1) months (1) convert (1) localfunction (1) pattern (1) builder (1) compare (1) comparison (1) add (1) addrange (1) localization (1) targettype (1) capacity (1) record (1) primitive (1) path (1) coalesce (1) lookup (1) tolookup (1) swagger (1) xml (1) documentation (1) filemodifier (1) dataprotector (1) protect (1) math (1) headers (1) binding (1) deserialization (1) utf8jsonreader (1) memorycache (1) statistics (1) newtonsoft (1) jsonconvert (1) datetimeoffset (1) object (1) objectpool (1) httpstatus (1) statuscode (1) type (1) format (1) app (1) run (1) map (1) server (1) addresses (1) features (1) token (1) aot (1) aheadoftime (1) typed (1) stronglytyped (1) expando (1) propertychanged (1) update (1) startupfilter (1) istartupfilter (1) commandline (1) mapping (1) switchmappping (1) taskcompletionsource (1) handler (1) C11 (1) stringliterals (1) lifetime (1) applicationlifetime (1) yield (1) iasyncenumerble (1) struct (1) defaults (1) correlation (1) activity (1) default (1) waitfor (1) formatting (1) outputcache (1) ping (1) ratelimiter (1) ratelimiting (1) iqueryable (1) namespace (1) out (1) delimit (1) arraysegment (1) routehandler (1) virtual (1) polymorphism (1) cast (1) typeof (1) bit (1) enumerable (1) redis (1) messaging (1) pubsub (1) keywords (1) options (1) create (1) interop (1) os (1) over (1) blog (1) hashicorp (1) vault (1) beginner (1) timer (1) interval (1) alignment (1) activatorutilities (1) in (1) modifier (1) deconstruct (1) host (1) required (1) iconfiguration (1) wildcard (1) equality (1) equals (1) testing (1) protected (1) maybenullwhen (1) initializer (1) lowing (1) forloop (1) typeconversion (1) debug (1) config (1) pagination (1) keyset (1) for (1) css (1) html (1) destruct (1) currying (1) layout (1) expandobject (1) tryaddenumerable (1) binary (1) hexadecimal (1) newid (1) nullable (1) chaining (1) xmlcomments (1) collections (1) insert (1) aspnetcore (1) route (1) first (1) single (1) merge (1) snippet (1) temporary (1) files (1) inference (1) integers (1) biginteger (1) selection (1) checked (1) unchecked (1) overflow (1) deterministic (1) directives (1) breakpoint (1) exceptiondispatchinfo (1) failfast (1) finally (1) sealed (1) throw (1) expressions (1) queryfilter (1) interning (1) linebreak (1) coalescing (1) main (1) execution (1) accessing (1) partitioner (1) listpattern (1) slicepattern (1) thread (1) readerwriter (1) atomic (1) interlocked (1) linkedlist (1) conditional (1) numeric (1) check (1) is (1) covariance (1) contravariance (1) offset (1) fetch (1) closure (1) method (1) underscore (1) validity (1) expression (1) switchexpression (1) ducktyping (1) loading (1) debugger (1) display (1) debuggerdisplay (1) tostring (1) delegate (1) incremental (1) incrementalgenerator (1) getenumerator (1) optional (1) system.text.json (1) notifications (1) column (1) order (1) columnorder (1) interceptor (1) interceptors (1) entitytypeconfiguration (1) gc (1) garbagecollection (1) garbage (1) wait (1) directive (1) when (1) metadata (1) call stack (1) channel (1) queue (1) producer (1) consumer (1) deploy (1) scheduler (1) cron (1) valuetuple (1) dailydrop (1) ioptions (1) ioptionssnapshot (1) ioptionsmonitor (1) optionspattern (1) records (1) ILogger (1) structuredlogging (1) serilog (1) structured (1) logger (1) git (1) gitflow (1) githubflow (1) workflow (1) azuredevops (1) nuget (1) devops (1) package (1) symbol (1) symbolserver (1) sourcelink (1) dbset (1) dependency injection (1) rollcall (1) transient (1) singleton (1) scoped (1) multiple implementation (1) implementation (1) multiple (1) ide (1) productivity (1)