Эпизод 77 - ссылки вместо цикла for - PullRequest
0 голосов
/ 14 января 2010

В эпизоде ​​77 Джоэл и Джефф обсуждали использование ссылок вместо цикла for. Я посмотрел в Stack Overflow, Google и Wikipedia, но не смог найти ссылки на конструкцию ссылок. Самым близким, что я мог найти, был самссылочный связанный список, который, вероятно, работал бы бесконечно. Является ли ссылка функцией языка программирования Links? Если нет, то что подразумевается под ссылками в этом контексте.

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Я уверен, что они говорили об использовании LINQ (Language INtegrated Query), а не links для замены foreach циклов.

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

или

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

против

var stuff = new List<string>();
foreach (var item in list)
{
    if (item.StartsWith("a"))
    {
         stuff.Add( a );
    }
}
2 голосов
/ 14 января 2010

Да, я уверен, что они сказали LINQ .

В .Net это довольно полезная функция, позволяющая вам по существу «выбирать» элементы из коллекции объектов, используя синтаксис, который подозрительно похож на 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>();

Там есть замечательная книга Мэннинга: " LINQ в действии ", и у них есть несколько загружаемых примеров глав, если вы хотите узнать больше.

...