May
15th

How to Convert List(T1) to List(T2)

Posted by Shahar A |
Filed under .Net, C# |

Did you ever need to convert List(T1) to List(T2)? One example might be when implementing an interface. you might need to expose a collection of other interfaces (or maybe the same interface), But you usually hold the concrete type implementing the interface in the collection. Lets look at the following example:


Continue Reading...
May
13th

Beware of List.Find()

Posted by Shahar A |
Filed under .Net, C# |

List<T>.Find() returns the first element found that matches a given criteria. So lets say we have List<int> and we use the Find method on it. What will be the returned value? If a number in the list matches the criteria it will be returned, but what if not? what does the variable zero contains after executing this code:

List<int> listOfInts = new List<int>(new int[] { 1,2,3,4,5,6,7,8,9});
int zero = listOfInts.Find(
    delegate(int i)
    {
        return i == 0;
    });

It has the value of…


Continue Reading...
May
7th

Why Should You Wrap Your ASP.NET Session Object

Posted by Shahar A |
Filed under .Net, ASP.Net, C# |

ASP.NET provides mechanisms for storing information for a single user session or across multiple sessions. This is done using the HttpSessionState and HttpApplicationState classes. The Page class has Application and Session attributes to provide access to current objects. The simple way to access them is as following:

if (Session["FirstName"] == null)
{
    LabelFirstName.Text = “FirstName”;
}
else
{
    LabelFirstName.Text = (string)Session["FirstName"];
}
if (Session["LastName"] == null)
{
    LabelLastName.Text = “LastName”;
}
else
{
    LabelLastName.Text = (string)Session["LastName"];
}

Continue Reading...
May
5th

A Programming Job Interview Challenge #2

Posted by Shahar Y |
Filed under .Net, C# |

Job Interview ChallengeLast week I posted A Programming Job Interview Challenge which was very successful, both in the amount of page views and, in the amount of comments and mails we received. This fact made us (the Dev102 team) decide to add a weekly programming job interview challenge column to www.Dev102.com.


Continue Reading...
May
2nd

Blog Stats for April 2008

Posted by Amit |
Filed under C# |

cool_graf copy copy

April is gone and we are definitely on the go!

During April we have hit the 50 posts mile stone and the traffic has increased substantially. We would like to thank all our readers and hope for a better month in May, without further due, here are the stats (again, last months numbers are in brackets):


Continue Reading...
May
1st

Operator~ and BinarySearch

Posted by Shahar Y |
Filed under .Net, C# |

Usually, we use Array.BinarySearch to find a value in a sorted array, we all know that this method returns the index of the searched value in the array, if value is found. It turns out that the return value of BinarySearch is much more interesting and useful. Lets focus on what happens if the value is not found in the array.

Those who claim that if value is not found than a negative number will be returned, are absolutely right. But most of us don’t really know the whole truth about that negative number and how it can be used.

magnifying-glass


Continue Reading...
Apr
25th

LINQ to XML in 3 easy steps

Posted by Shahar A |
Filed under .Net, C# |

Linq to xml provides an easy query interface for XML files. In the following example I will demonstrate how to use it for reading and writing data from/to xml file, using the file for persistency maintaining a list of objects. This can be used for storing application settings, storing persistent objects or any other data [...]


Continue Reading...
Apr
24th

A Great XPath Query Tool

Posted by Shahar Y |
Filed under .Net, C#, Utilities |

XPath is a language for addressing parts of an XML document, for those who are not familiar with this language - here are the W3C specifications and here is the W3schools tutorial. Now that we know XPath, lets get to the point of that post which is - Visual XPath.

This is a free graphical XPath [...]


Continue Reading...
Apr
22nd

Is [Serializable] == ISerializable? No!

Posted by Shahar A |
Filed under .Net, C# |

Serialization is the process of saving an object onto a storage medium (such as a file, or a memory buffer) or transmiting it across a network connection link in binary form.
The .NET Framework provides an easy-to-use serialization mechanism by using the [Serializable] attribute. If so why do we need the ISerializable interface? Lets compare to see [...]


Continue Reading...
Apr
21st

A Bug in WPF Static Resources?

Posted by Amit |
Filed under C#, WPF |

Yesterday I played around with WPF resources and stumbled on a very strange behavior. It seems that the order of the elements in the resources have some importance as to how the application handles them. A few code examples are attached


Continue Reading...