# Tuesday, August 26, 2008

?? Operator in C#

Wer hätte das gedacht; In der C#-Spezifikation habe ich bereits das ein oder andere Mal herumgestöbert. Dabei ist mir aber glatt der Null-Koaleszenz-Operator ?? durch die Lappen gegangen. Wer ihn noch nicht kennt, sollte ihn sich einmal anschauen. Es lohnt sich auf jeden Fall.

Wo ich es her habe: BlaBlubBlog
Wo es sonst nach was dazu zu lesen gibt: Norbert Eder
Wo man es brauchen kann:
In der nachfolgenden Funktion wird durch den Null-Koaleszenz-Operator sichergestellt, dass die Klasse test in der Methode Main auf jeden Fall ungleich null ist (auf Stil und Schönheit wurde übrigens in diesem Beispiel kein Wert gelegt).
namespace ConsoleApplication1
{
    using System;

    class Program
    {
        static void Main( string[] args )
        {
            TestClass test = TestClass.CreateClass( ) ?? new TestClass( );
        }

        public class TestClass
        {
            public bool IsValid { get; private set; }

            public TestClass( )
            {
            }

            public static TestClass CreateClass( )
            {
                if ( new Random( ).Next( 1 ) == 0 )
                {
                    TestClass result = new TestClass( );
                    result.IsValid = true;
                    return result;
                }
                return null;
            }
        }
    }
}
Tuesday, August 26, 2008 10:09:39 PM (W. Europe Daylight Time, UTC+02:00) #  Comments [2] | Trackback
Wednesday, August 27, 2008 10:11:27 PM (W. Europe Daylight Time, UTC+02:00)
"auch Stil und Schönheit wurde übrigens in diesem Beispiel kein Wert gelegt"

Auf korrekte Rechtschreibung auch nicht.
Friday, August 29, 2008 9:24:56 PM (W. Europe Daylight Time, UTC+02:00)
So besser? ;)
OpenID
Please login with either your OpenID above, or your details below.
Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, strike) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview