Kostenlose .NET-Decompiler – die .NET Reflector Alternativen

netreflectorHeute möchte ich euch kurz ein paar Alternativen zu Redgates .NET Reflector aufzeigen. Früher habe ich diesen zwar des Öfteren benutzt, doch seit dem dieser Geld kostet, und es gute und brauchbare kostenlose Alternativen, kommt dieser nicht mehr zwischen meine Finger.
Der nachfolgende Einschub ist für diejenigen gedacht, die mit dem Begriff .NET Reflector/Decompiler jetzt gerade gar nichts anfangen können. Die anderen lesen bitte einfach nach dem Einschub weiter.
Was ist ein (.NET-)Decompiler?
Decompiler nennt man Computerprogramme, die es ermöglichen aus Maschinencode/Objektbytecode wieder lesbaren Quelltext (in einer Hochsprache) zu zaubern. Sie stellen also das Gegenstück zu einem Compiler dar.
Praktisch kann man sich das wie folgt vorstellen. Der Programmierer schreibt den Quellcode für ein Programm. Diesen kompiliert er dann mit einem Compiler. Das Endergebnis nach dem kompilieren könnte dann zum Beispiel eine ausführbare .exe-Datei sein.
Nun kommen wir […]

Speichern von Einstellungen in C# mit AppSettings

Wie speichert man eigentlich schnell und einfach Einstellungen in C# Anwendungen? Diese Frage hat sich sicherlich jeder einmal in seiner C# Laufbahn gestellt und die Antwort ist so simpel. Am einfachsten geht es mit den AppSettings des ConfigurationManager im .Net-Frameworks.
Das .Net-Framework bringt nämlich gleich einen eigenen Manager zum verwalten und speichern von Einstellungen mit sich. Die Eigenschaften werden im gebräuchlichen XML-Format abgelegt. Und damit ihr seht, dass der Umgang mit den AppSettings wirklich ein Kinderspiel ist, habe ich euch zwei kleine Methoden zum Speichern/Ändern und Auslesen von Einstellungen geschrieben.

public string getAppSetting(string key)
{
//Laden der AppSettings
Configuration config = ConfigurationManager.OpenExeConfiguration(
System.Reflection.Assembly.GetExecutingAssembly().Location);
//Zurückgeben der dem Key zugehörigen Value
return config.AppSettings.Settings[key].Value;
}

public void setAppSetting(string key, […]

Unterschiedliche Zufallszahlen generieren in C#

Nachdem ich euch schon gezeigt habe, wie man eine Liste an unterschiedlichen Zufallszahlen in PHP generiert, folgt nun ein Beispiel, wie man das ganze in C# umsetzen kann. Wer sich fragt, wofür man das braucht, liest am besten noch einmal die kurze Einleitung in diesem Artikel.

//Legt den Zahlenbereich fest, aus dem die
//Zufallszahlen gewählt werden sollen
int kleinsteZahl = 1;
int groessteZahl = 10;

//Legt fest wie viele Zufallszahlen generiert werden sollen
int zufallsZahlen = 5;

//Wir legen eine List mit den Zahlen an, aus denen
//die Zufallszahlen gewählt werden sollen
List auswahlZahlen = new List();
for (int i = kleinsteZahl; i <= groessteZahl; i++)
auswahlZahlen.Add(i);

//Wir legen eine List an, die unsere Ergebnisse
//beeinhalten soll
List ergebnisse = new List();

//Wir initialisieren den Zufallszahlengenerator
Random rand = new Random();

//Die Schleife ermittelt in jedem Durchlauf eine Zufallszahl
for (int i = 0; i < zufallsZahlen; i++)
{
//Es wird eine Zufahlszahl generiert
[…]