C#

Igor Ostrovsky on April 1st, 2009

Notice that this post was published on April 1, 2009.
For decades, computer science students have been taught that so-called NP-hard problems do not have known efficient solutions. These problems include the infamous Travelling salesman problem, subset sum, 3SAT, and many more.
But – as is often the case – where theoretical Computer Science failed, sound software [...]

Continue reading about Choose expression: proposal for a revolutionary C# construct

Igor Ostrovsky on February 2nd, 2009

Here is a little puzzle for C# developers reading my blog. What is the error in the program below?
using System.Collections.Generic;
class Program
{
public static void Main()
{
[...]

Continue reading about Puzzling over arrays and enumerators in C#

I realized that there is a very clean way to express a multi-clause if statement by composing ternary conditional operators like this:
var result =
condition1 ? result1
: condition2 ? result2
: condition3 ? result4

[...]

Continue reading about A neat way to express multi-clause if statements in C-based languages

Igor Ostrovsky on September 6th, 2007

Today, I am writing about a design problem related to C# generics that I’ve seen arise a few times. The problem occurs when we need to manipulate a generic class given a reference to its non-generic base class. For example, if a generic class Node<T> inherits from a non-generic class Node, and we are holding [...]

Continue reading about Fun with C# generics: down-casting to a generic type