C#のコーディング規約について 命名規約編

基本的には、Microsoft標準でいい……と思っていたのですがちょっと微妙。

C# のコーディング規則 | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/fundamentals/coding-style/coding-conventions

class、record、または struct の名前を付ける場合は、パスカル ケース ("PascalCasing") 使用します。
interface に名前を付けるときは、名前の前に I を付けるだけでなく、Pascal 形式を使用します。 これにより、それが interface であることがコンシューマーに明確に示されます。
フィールド、プロパティ、イベント、メソッド、ローカル関数などの型の public メンバーに名前を付ける場合は、パスカル ケースを使用します。

特に異論なし。

private または internal のフィールドに名前を付ける場合は、キャメル ケース ("camelCasing") を使用し、_ を使用してプレフィックスを付けます。

……_いらなくない??

private または internal である static フィールドを使用する場合は、s_ プレフィックスを使用し、スレッド静的には t_ を使用します。

クラス単位のstaticやスレッド単位のstaticはアプリケーション的に意味があるし、注意すべき点もあるからつけてもよいという気はしないでもないですが……うーん。
(クラス自体がstaticの場合、s_は非常に鬱陶しい気がする。生成されたインスタンスからstaticな変数にアクセスする際に注意が必要というのは非常にわかる。よくバグになっている。)