2010-01-13 4 views
0

Dans l'épisode 77, Joel et Jeff discutaient de l'utilisation de liens au lieu d'une boucle for. J'ai regardé dans Stack Overflow, Google et Wikipedia, mais je n'ai trouvé aucune référence à une construction de liens. La chose la plus proche que j'ai pu trouver était une liste liée auto-référencée qui serait sans doute bouclée indéfiniment. Les liens sont-ils une caractéristique du langage de programmation Links? Sinon, qu'entend-on par liens dans ce contexte.Épisode 77 - liens au lieu d'une boucle for

+4

-ils dire LINQ? –

+0

Épisode 77 de quoi? – FrustratedWithFormsDesigner

+0

@FrustratedWithFormsDesigner - Podcasts –

Répondre

2

Oui, je suis sûr qu'ils ont dit LINQ.

Dans .Net, il est une jolie caractéristique utile vous permettant essentiellement des éléments «sélectionnez » à partir d'une collection d'objets en utilisant la syntaxe qui ressemble étrangement à SQL:

List<Person> personList = // maybe passed into a method or whatever 
IEnumerable<Person> filteredList = from p in personList 
            where p.Age > ageThreshold 
            select p 
return filteredList.ToList<Person>(); 

Il y a un grand livre Manning sur elle: « LINQ in Action » et ils ont quelques exemples de chapitres téléchargeables si vous voulez en savoir plus.

2

Je suis sûr qu'ils parlaient d'utiliser LINQ (Language INtegrated Query), pas liens, pour remplacer foreach boucles.

var stuff = list.Where(l => l.StartsWith("a")).ToList(); 

ou

var stuff = (from l in list 
      where l.StartsWith("a") 
      select l).ToList(); 

vs

var stuff = new List<string>(); 
foreach (var item in list) 
{ 
    if (item.StartsWith("a")) 
    { 
     stuff.Add(a); 
    } 
}