giugno 2006 Blog Posts

Generics e tuple

Il .Net Framework 2.0 non dispone di un tipo "tupla", inteso come una sequenza finita (non necessariamente omogenea) di valori di un certo tipo. Un tipo del genere potrebbe essere utilizzato in molti contesti: quando devo rappresentare coppie (triple, quadruple, ..., n-uple) di valori, quando un metodo deve tornare più valori e non posso o non voglio utilizzare i parametri di tipo out, ...Grazie all'utilizzo dei Generics e con un po' di overload è possibile implemetare un tipo Tuple che faccia al caso.Es. public interface ITuple : IEnumerable, IComparable<ITuple>{   int Length   { get; }    object this[int index]   { get; set; }} // Tupla vuota. Es. ()public...

posted @ venerdì 30 giugno 2006 19:23 | Feedback (3)

Alessia...

Ieri sera, alle 23, è nata mia figlia Alessia!E' una gioia indescrivibile diventare papà...

posted @ lunedì 12 giugno 2006 13:40 | Feedback (20)

IEnumerable e insiemi ricorsivamente enumerabili

Un insieme ricorsivamente enumerabile (http://en.wikipedia.org/wiki/Recursively_enumerable_set) è tale per cui esiste un algoritmo capace di "snocciolarne" tutti gli elementi. Ad es. l'insieme dei numeri naturali, ovvero i numeri interi maggiori (o uguali) a zero, è ricorsivamente enumerabile perchè esiste un algoritmo in grado di restituirne tutti gli elementi: static IEnumerable<int> Natural(){   for (int i = 0; ; i++)      yield return i;} // ... foreach (int i in Natural())   Console.WriteLine(i);  // 0, 1, 2, ... L'insieme dei numeri naturali ha un numero infinito di elementi. Per un insieme finito è sempre possibile trovare un algoritmo che enumera tutti gli elementi...E' interessante notare l'analogia con gli iteratori,...

posted @ giovedì 8 giugno 2006 20:42 | Feedback (0)