Quick Tip: 01. C# operator ??

Podczas tworzenia oprogramowania jedną z częściej wykonywanych operacji jest sprawdzanie, czy dany obiekt nie jest nullem. Często wygląda to tak:
[sourcecode language=”csharp”]
MyType result;
if(Object1 != null)
{
result = Object1;
}
else
{
result = Object2;
}
[/sourcecode]
lub
[sourcecode language=”csharp”]
MyType result = Object1 != null ? Object1 : Object2;
[/sourcecode]
Kod ten możemy sobie uprościć stosując operator ?? (podwójny znak zapytania). Operator ten zwraca obiekt będący “z lewej strony”, jeżeli jest on różny od null lub jeżeli jest nullem obiekt będący z jego “z prawej strony”.

Podany przykład będzie wyglądał tak:
[sourcecode language=”csharp”]
MyType result = Object1 ?? Object2;
[/sourcecode]
lub
[sourcecode language=”csharp”]
MyType result = Object1 ?? Object2 ?? Object3;
[/sourcecode]

Oczywiście Object1 może być również funkcją zwracającą obiekt, np:
[sourcecode language=”csharp”]
public MyType MyObject
{
get { return myObject ?? (myObject = objectFactory.Create()); }
}
[/sourcecode]
zamiast:
[sourcecode language=”csharp”]
public MyType MyObject
{
get
{
if (myObject == null) myObject = objectFactory.Create();
return myObject;
}
}
[/sourcecode]

Korzystając z tego operatora należy pamiętać, że pusty string nie jest nullem!

ASP.NET AJAX 4.0 Preview 3 – dokumentacja

Parę dni temu światło dzienny ujrzał ASP.NET AJAX 4.0 Preview 3 a od wczoraj mamy do niego dostępną wstępną dokumentację :)

ASP.NET AJAX 4.0 od wersji Preview 3 zawiera ASP.NET AJAX 4.0 CodePlex Preview 2 oraz ASP.NET AJAX Client Library for ADO.NET Data Services, które wcześniej były dostępne jako osobne projekty.

Dokumentacja zwiera m.in. opis metod i właściwości dostarczanych przez ASP.NET AJAX 4.0 Preview 3, wykorzystanie JSON’a oraz tutorial opisujący ASP.NET AJAX Templates.

Dokumentacja dostępna jest pod adresem http://quickstarts.asp.net/previews/ajax/default.aspx

ASP.NET AJAX 4.0 Preview 3 można pobrać ze strony http://www.codeplex.com/aspnet/Wiki/View.aspx?title=AJAX