# Extensions

String, DateTime, and lock utility extensions.

## Key Files

- **`StringExtensions.cs`** — `IsNullOrEmpty()`, `IsNullOrWhiteSpace()` (with `[NotNullWhen]`), `FirstLetterToUpper()`, `MixCharacters()` (interleaves two char sequences: ABC+DEF→ADBECF).
- **`DateTimeExtension.cs`** — `IsNullOrEmpty()` for `DateTime`/`DateTime?`, `IsEqualSqlDateTime2()` for SQL Server datetime2 precision comparison.
- **`LockExtensions.cs`** — `using` pattern for locks: `mutex.UseWaitOne()`, `semaphore.UseWait()`, `semaphore.UseWaitAsync()`. Returns `IDisposable` wrappers that auto-release on dispose.
