Skip to content

Instantly share code, notes, and snippets.

View peterbucher's full-sized avatar

Peter Bucher peterbucher

View GitHub Profile
// Nullable
DateTime? date = Request.QueryString["date"].ToOrDefault<DateTime?>();
if(date.HasValue) {
<meinObjekt>.Date = date.Value;
}
// Kein Nullable
Guid guid = Request.Form["userGuid"].ToOrDefault<Guid>();
if(guid != Guid.Empty)
currentUser = User.Load(guid);
public static partial class Common
{
/// <summary>
/// Gibt ein typisiertes Objekt aus einem String zurück.
/// Falls die Umwandlung nicht erfolgreich ist, wird stattdessen
/// der Standardwert des Zieltypen zurückgegeben.
/// </summary>
/// <typeparam name="T">Zieltyp</typeparam>
/// <param name="value">Zu typisierenden String</param>
/// <param name="defaultValue">Standardwert (Wird bei Fehlschlag zurückgegeben)</param>
int typedValue = Request.QueryString["index"].ToOrDefault<int>();
if(typedValue == 4) {
lblStatus.Text = string.Format("Wert gültig: {0}", typedValue);
}
string value = Request.QueryString["index"]; // Kann auch das Literal "null" darstellen
int typedValue;
if(int.TryParse(value, out typedValue) && typedValue == 4) {
lblStatus.Text = string.Format("Wert gültig: {0}", typedValue);
}
Foo(ref m);
static void Foo(ref Mensch MenschArgument) {
//...
}
using System;
namespace ParameteruebergabeInCSharp {
class Program {
static void Main(string[] args) {
// Wir erstellen unser Objekt und füllen die Eigenschaft "Name"
Mensch m = new Mensch();
m.Name = "Peter";
// Wir rufen unsere Funktion auf und übergeben unser Mensch Objekt
// an die Methode
// Deklarierung, jedoch keine Initialisierung unserer Ergebnisparameter
string meinName;
int meinAlter;
// Aufruf unserer Methode
MeineMethode(out meinName, out meinAlter);
Console.WriteLine(meinName); // Gibt Peter aus
Console.WriteLine(meinAlter); // Gibt 23 aus
// Deklarierung unserer Methode und Zuweisung der gewünschten Werte
public void MeineMethode(out string meinNameArgument, out int meinAlterArgument) {
// Variable deklarieren und initialisieren:
int meineVariable = 1;
// Aufruf unserer Methode und anschliessende Ausgabe unserer Variable in der Konsole meineMethode(ref meineVariable);
MeineMethode(ref meineVariable);
Console.WriteLine(meineVariable.ToString()); // Gibt 4 aus
// Deklarierung unserer Methode und Veränderung des Arguments
public void MeineMethode(ref int meinArgument) {
// Wir weisen unserem Argument den Wert 4 zu. Da per "ref" Schlüsselwort die Referenz (Zeiger) auf unsere Variable "meineVariable" übergeben wird,
// ändert sich auch der Wert unserer Variable.
// Variable deklarieren und initialisieren:
int meineVariable = 1;
// Aufruf unserer Methode und Ausgabe unserer Variable in der Konsole
meineMethode(meineVariable);
Console.WriteLine(meineVariable.ToString()); // Gibt 1 aus
// Deklarierung unserer Methode und Gebrauch des Arguments
public void MeineMethode(int meinArgument) {
// Wir weisen unserem Argument einen neuen Wert zu.
// Diese Änderung ist nur innerhalb unserer Methode gültig und hat keine Auswirkungen auf unsere ursprüngliche Variable
// Aufruf der Methode mit Ergebnisparameterübergabe (Schlüsselwort: out)
MeineMethode(out meinErgebnisParameter);