Why this matters
Provides O(1) average membership checks vs O(n) scans.
Use HashSet<T> for repeated contains checks on large collections.
Provides O(1) average membership checks vs O(n) scans.
Side-by-side examples engineers can pattern-match during review.
if (list.Contains(id)) { /* ... */ }if (set.Contains(id)) { /* ... */ }list.Contains(x)hashSet.Contains(x)From the same buckets as this rule.
All static JS/CSS/font/image files MUST use content-hashed filenames (e.g., app.9c1a7b.js) and be served with "Cache-Control: public, max-age=31536000, immutable". HTML and other non-fingerprinted documents MUST be served with "Cache-Control: no-cache" (or equivalent) to enable conditional revalidation.