Obtener y mostrar el uso de la CPU con C# (C Sharp)

Como aficionado que soy a la programación hoy os traigo un código en c# para poder obtener y mostrar el uso que tiene nuestro procesador en tiempo real.

Para que nuestro código funcione debemos usar el namespace System.Diagnostics

A continuación os pongo el código fuente:

using System;
using System.Threading;
using System.Diagnostics;
 
namespace UsoCPU
{
    class Program
    {
        static void Main(string[] args)
        {
            PerformanceCounter cpuCounter = new PerformanceCounter();
            cpuCounter.CategoryName = "Processor";
            cpuCounter.CounterName = "% Processor Time";
            cpuCounter.InstanceName = "_Total";
 
            while (true)
            {
                Console.Clear();
                Console.WriteLine(cpuCounter.NextValue() + "%");
                Thread.Sleep(1000);
            }
        }
    }
}

También pongo a vuestra disposición el proyecto en Microsoft Visual C# Express, aquí os dejo el enlace de descarga. [wpdm_file id=1]

Espero que os sirva, un saludo.