Ist ein Jahr ein Schaltjahr? (C#)

image 

Um festzustellen, ob es sich bei einem bestimmten Jahr um ein Schaltjahr handelt, lässt sich die statische Methode IsLeapYear der DateTime Struktur verwenden. Hierbei genügt es, der Methode das entsprechende Jahr beim Aufruf zu übergeben.

static void Main()
{
       for (int i = 2000; i <= 2020; i++)
       {
           if (DateTime.IsLeapYear(i))
               Console.WriteLine(„Das Jahr {0} ist ein Schaltjahr“, i);
           else

               Console.WriteLine(„Das Jahr {0} ist kein Schaltjahr“, i);

        }
}

Installierte .NET-Frameworks über Registry ermitteln (C#)

image

In meinem Beitrag vom 25.Juli 2010 wurde gezeigt, wie man die installierten .NET-Framework-Versionen im Dateisystem findet.
Hier wird nun demonstriert, wie man die .NET-Framework-Versionen über die Registry ermittelt. Microsoft stellt in dem Dokument How to determine which versions and service pack levels of the Microsoft .NET Framework are installed Informationen zu den Registrykeys bereit.

Im nachfolgenden Beispielprogramm wird das Vorhandensein des .NET-Framework 3.5 geprüft. Als erstes wird dazu nach dem Key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 gesucht. Ist der Wert von Install 1, ist das .NET-Framework 3.5 installiert. Anschließend wird über SP das installierte Service Pack ermittelt – beim Original Release ist der Wert 0.

// RegistryKey / Registry benötigt Microsoft.Win32 Namespace

RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@“SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5″);
if (regKey != null)
{
   object valueInstall = regKey.GetValue(„Install“);
   if (valueInstall != null)
   {
      int vInstall = (int)valueInstall;
      Console.WriteLine(@“Der Wert von Install ist {0}“, vInstall);
      if (vInstall == 1)
     {
         Console.WriteLine(„.NET Framework 3.5 ist installiert“);
         object valueSP = regKey.GetValue(„SP“);
         if (valueSP != null)
        {
            int vSP = (int)valueSP;
            if (vSP > 0)
            {
                 Console.WriteLine(„SP {0} installiert“, vSP);
            }
        }
     }
   }
}
else
   Console.WriteLine(@“RegistryKey HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 nicht gefunden“);

Laufende Prozesse mit C# auflisten

Im Namensraum System.Diagnostics stellt das .NET-Framework die Klasse Process bereit. Damit lassen sich alle laufenden Prozesse sehr einfach auflisten.

using System.Diagnostics;

class Program
    {
        static void Main()
        {
            foreach (Process p in Process.GetProcesses())
                Console.WriteLine(p.ProcessName);
        }
    }

Resttage eines Monats ermitteln (C#)

Manchmal muss man feststellen, wieviele Resttage ein Monat noch hat.
Das nachfolgende Beispiel zeigt, wie die Anzahl der Resttage des aktuellen Monats ermittelt werden.

class Program
    {
        static void Main()
        {
            DateTime heute = DateTime.Now;
            // DaysInMonth liefert die Anzahl der Tage für Jahr und Monat
            int tage = DateTime.DaysInMonth(heute.Year, heute.Month);
            Console.WriteLine(„Aktuelles Datum: {0}\nDer aktuelle Monat hat {1} Tage.“,
                heute.ToLongDateString(), tage);
            // Resttage des Monats ausgeben
            Console.WriteLine(„Resttage: {0} Tag(e)“, tage – heute.Day);
        }
    }

Wieviele Tage hat ein Monat? (C#)

Die Anzahl der Tage eines bestimmten Monats, lässt sich über die DateTime-Struktur und der statischen Methode DayInMonth ermitteln. Im nachfolgenden Beispiel wird die Anzahl der Tage des aktuellen Monats ausgegeben.

class Program
   {
       static void Main()
       {
           DateTime heute = DateTime.Now;
           // DaysInMonth liefert die Anzahl der Tage für Jahr und Monat
           int tage = DateTime.DaysInMonth(heute.Year, heute.Month);
           Console.WriteLine(„Aktuelles Datum: {0}\nDer aktuelle Monat hat {1} Tage.“,
               heute.ToLongDateString(), tage);
       }
   }