.NETには何個のクラスが定義されているのか?

〜.NETの奥深さを数字で体感しよう〜

C#やVB.NETなどの開発で使われている.NETですが、「いったい.NETにはどれくらいのクラスが用意されているのか?」と疑問に思ったことはありませんか?

今回は、.NETの「クラス数」に注目して、ざっくりとした全体像と数の目安をお伝えします。


■ 結論:.NETには約1万〜2万のクラスが存在!

.NETには、マイクロソフトが提供する標準ライブラリ(.NET API)として、1万〜2万以上のクラスが定義されています。

対象フレームワーク公開クラス数の目安
.NET Framework 4.8約13,000~15,000
.NET 6 / .NET 7 / .NET 8約17,000~20,000
.NET Standard 2.1約10,000

※「クラス数」には、SystemやMicrosoftなどの名前空間に属するものを含みます。

※構造体(struct)、列挙型(enum)、インターフェース(interface)などは別カウントです。


■ なぜそんなに多いの?

.NETは、次のような機能をすべてカバーする巨大な開発基盤だからです。

  • ファイル操作
  • ネットワーク通信
  • UI(WinForms / WPF / MAUI)
  • データベースアクセス(ADO.NET / Entity Framework)
  • 暗号化・セキュリティ
  • スレッド・非同期処理
  • 画像・音声・動画の扱い
  • HTTP / REST API
  • コレクション(List, Dictionaryなど)
  • 数学・統計

これらすべてに関連するクラスが揃っているため、万単位の型が用意されているのです。


■ クラス数を実際に調べてみよう(C#での例)

下記のコードは、mscorlib(.NET Framework)や System.Private.CoreLib(.NET 6以降)に含まれる「publicなクラス数」を数える例です:

using System;
using System.Linq;
using System.Reflection;

class Program
{
    static void Main()
    {
        var coreAssembly = typeof(object).Assembly;
        int count = coreAssembly
            .GetTypes()
            .Count(t => t.IsClass && t.IsPublic);

        Console.WriteLine($"coreアセンブリ内のpublicクラス数: {count}");
    }
}

実行結果はバージョンによって異なりますが、たとえば.NET 6では800個以上のpublicクラスがSystem.Private.CoreLibに含まれています。

これは.NET全体のごく一部にすぎません。


■ どう活用すればよいのか?

数が多くても、すべてを覚える必要はありません。

重要なのは、

必要なときに、探せるようになること。

.NET公式ドキュメントやVisual Studioのインテリセンスを活用して、必要なクラスを都度調べていけば問題ありません。


■ まとめ

  • .NETには 1万~2万以上のクラスが含まれている
  • ファイル操作からUI、通信、暗号化まで、広範囲に対応
  • 必要なものを 検索・発見・再利用する力が大切

.NETは非常に充実した開発基盤です。クラスの多さは、それだけ「やりたいことが実現しやすい」という証でもあります。

開発の中で、「これって.NETにすでにあるのでは?」という目で見ていくと、成長スピードがぐんと上がりますよ!

訪問数 12 回, 今日の訪問数 1回

.NET

Posted by hidepon