Zėŋōfōbìå

7 settembre 2009

Jon Skeet: MoreLINQ now at 1.0 beta

Filed under: C#, informatica — Tag: — Zeno @ 16:46

Jon Skeet pensa che LINQ to Object abbia bisogno di qualche aggiunta. Come dargli torto? :-)

La Beta 1 contiene un insieme interessante di estensioni a IEnumerable, di chiaro interesse.
(more…)

Annunci

11 agosto 2009

C# e paradigma funzionale

Filed under: C#, Haskell, informatica — Tag:, — Zeno @ 11:25

Ho trovato un bell’articolo pratico su come implementare alcune funzioni di ordine superiore che si incontrano sempre nei linguaggi funzionali. In particolare faccio riferimento alle implementazioni di Haskell: Curry, Zip, ZipWith.

Ho aggiunto Map, Filter, FoldR e FoldL e qualche test case.

(more…)

27 luglio 2009

Inizializzare gli array in C# 3

Filed under: C#, informatica — Tag: — Zeno @ 15:11

Supponiamo di avere la necessità di allocare un certo numero di oggetti in un array, ovviamente l’approccio standard è di usare un ciclo for:

Whatever[] whateverVector=new Whatever[1000];
for(int i=0;i < 1000;i++)
  whateverVector&#91;i&#93;=new Whatever(i);
&#91;/sourcecode&#93;

Esiste anche un modo diverso, più lento ma per certi versi più elegante, che usa la list comprehension di C#3: LINQ
&#91;sourcecode language='csharp'&#93;
Whatever&#91;&#93; whateverVector= Enumerable.Repeat(0, 1000).Select(i => new Whatever(i)).ToArray();

Crea un sito o un blog gratuitamente presso WordPress.com.