AyCode.Core/AyCode.Utils/Extensions/README.md

10 lines
609 B
Markdown

# 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.