LINQ で WMI

せっかくなので LINQ で。

using System;
using System.Management;
using System.Linq;

class P
{
  static void Main()
  {
    var query = from mo in ( new ManagementClass( "Win32_CacheMemory" ) ).
                    GetInstances().OfType<ManagementObject>()
                from p in mo.Properties.OfType<PropertyData>()
                where p.Name == "InstalledSize"
                select p.Value;

    Console.WriteLine( query.ElementAt( 0 ) );
    Console.ReadKey();
  }
}

LINQ はまだよちよち歩きです。Luke 教祖様との彼我の距離を感じますた。
LINQ 最大の欠点はその中毒性ですねw