Добро пожаловать в Записки дилетанта Войти|Регистрация | Помощь
Orcas - первые впечатления

Я наконец то понял логику Microsoft! Если продук ожидаем и активно раскручивается, то толку от него будет весьма и весьма немного. А если он тихонечко разрабатывается и не создает особого ажиотажа - жди откровений. По крайней мере пока что именно так все и происходит. Например мои ожидания и надежды на .NET 2 были весьма и весьма напрасны - хоть и много хорошего появилось в новой версии .NET Framework, но куда-то не туда это новое пошло и как-то хорошее впечатление о себе смазало. А вот с Visual Studio Orcas (вернее с C# 3) получается совсем по другому - всео лишь второй день щупаю по серьезному сей продукт, а уже приходи нежелание работать в 2005-й студии над старыми проектами :). Хотя вроде мелочь добавили - 4 небольших изменения языка - а влияние на дальнейшую жизнь .NET девелоперов они окажут значительное.

Я не собираюсь в своей маленькой заметке пытаться рассказать о нововведениях в С# 3, я хочу показать только лишь парочку примеров кода, которые меня лично приятно удивили. Например вот такой:

            var cmp = new[] {
                                 new { Revenue = 100, Name = "GOOG", Country = "USA"},
                                 new { Revenue = 200, Name = "IKEA", Country = "Sweden"},
                                 new { Revenue = 300, Name = "AIR", Country = "France"},
                                 new { Revenue = 5000, Name = "MSFT", Country = "USA"}
                      };
            foreach (var r in from c in cmp
                              where c.Revenue > 250
                              select new { c.Name, c.Country })
                Console.WriteLine("{0}\t{1}", r.Name, r.Country);
            Console.ReadLine();

Или вот такой:

            DB target = new DB();
            SectionGroup sg = new SectionGroup()
                              {
                                  Name = "Test1",
                                  Description = "Test section group 1"
                              };
            Section s = new Section()
                        {
                            Name = "Test 1-1",
                            Description = "Test section 1-1",
                            SectionGroup = sg,
                            DateCreated = DateTime.Now
                        };
            target.SectionGroups.Add(sg);
            target.SubmitChanges();

 

В первом примере создается коллекция анонимных объектов и пото запросом выводятся названия и страны тех объектов, у которых Revenue > 250, во втором же - создаются 2 записи в 2-х таблицах базы данных. И все это мало того, что делается стандартными средствами .NET Framework 3.5 и C# 3, так еще и замечательно поддерживается интеллисенсом в Visual Studio Orcas! Правда для работы 2-го примера нужно сделать еще класс DB, но вся работа по его созданию - это добавить новый айтем с типом Linq to SQL File в и перетащить на дизайнер этого айтема нужные таблицы из Server Explorer. А потом работать только со сгенеренными классами и не думать о том, как данные из этих классов попадают в базу при сохранении и каким образом из базы данные загружаются в соотв. классы при загрузке. Просто для того, чтобы вывести все названия секций из группы 5 пишем:

            var names = from s in db.Sections
                        where s.GroupID == 5
                        select s.Name;
            foreach(var name in names)
                Console.WriteLine(name);

Вообщем революция грядетBig Smile

Posted: Monday, March 12, 2007 8:10 PM от Дмитрий Руденко
Метки (ключевые слова): , ,

Комментарии:

Max951 сказал:

Уже хочу! :)

Я тоже щупал LINQ, даже слущал конференцию на DумDays :) - жду, жду, жду :)

# March 12, 2007 5:01 PM

Дмитрий Руденко сказал:

А че ждать то - качай и начинай мучать :)

# March 12, 2007 5:29 PM

Daniel Kornev [MSFT] сказал:

А ДевДей где у вас был?

# March 28, 2007 4:37 PM

Дмитрий Руденко сказал:

А у нас ДевДея не было :)

Эт все Макс в Москве где-то интересные выступления слушает.

# March 29, 2007 2:54 AM
Новые Комментарии отключены.