Why this matters
Avoids exceptions as control flow and handles invalid input gracefully.
Prefer TryParse-style APIs for user/IO input instead of Parse, and validate culture/format where applicable.
Avoids exceptions as control flow and handles invalid input gracefully.
Side-by-side examples engineers can pattern-match during review.
var n = int.Parse(value);if (!int.TryParse(value, out var n)) return BadRequest("invalid number");DateTime.Parse(s)DateTime.TryParse(s, out var dt)From the same buckets as this rule.
Check if loops use equality operators (== or !=) in termination conditions. These can lead to infinite loops if the condition is never met exactly. Instead, use relational operators like < or > for safer loop termination.