Герберт Шилдт - C# 4.0 - полное руководство

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 - полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва -- Киев, Год выпуска: 2011, ISBN: 2011, Издательство: ООО И.Д. Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0: полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0: полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

var myOb = new { Count = 10, Max = 100, Min = 0 }

Это означает, что следующие операторы считаются вполне допустимыми.

Console.WriteLine("Счет равен " + myOb.Count);

if(i <= myOb.Max && i >= myOb.Min) // ...

Напомним, что при создании объекта анонимного типа указываемые идентификаторы становятся свойствами, открытыми только для чтения. Поэтому их можно использовать в других частях кода.

Термин анонимный тип не совсем оправдывает свое название. Ведь тип оказывается анонимным только для программирующего, но не для компилятора, который присваивает ему внутреннее имя. Следовательно, анонимные типы не нарушают принятые в C# правила строгого контроля типов.

Для того чтобы стало более понятным особое назначение анонимных типов, рассмотрим переделанную версию программы из предыдущего раздела, посвященного оператору join. Напомним, что в этой программе класс Tempтребовался для инкапсуляции результата, возвращаемого оператором join. Благодаря применению анонимного типа необходимость в этом классе-заполнителе отпадает, а исходный код программы становится менее громоздким. Результат выполнения программы при этом не меняется.

// Использовать анонимный тип для усовершенствования

// программы, демонстрирующей применение оператора join-.

using System;

using System.Linq;

// Класс, связывающий наименование товара с его порядковым номером,

class Item {

public string Name { get; set; }

public int ItemNumber { get; set; }

public Item(string n, int inum) {

Name = n;

ItemNumber = inum;

}

}

// Класс, связывающий наименование товара с

// состоянием его запасов на складе,

class InStockStatus {

public int ItemNumber { get; set; }

public bool InStock { get; set; }

public InStockStatus(int n, bool b) {

ItemNumber = n;

InStock = b;

}

}

class AnonTypeDemo {

static void Main() {

Item[] items = {

new Item("Кусачки", 1424),

new Item("Тиски", 7892),

new Item("Молоток", 8534),

new Item("nnna", 6411)

};

InStockStatus[] statusList = {

new InStockStatus(1424, true),

new InStockStatus(7892, false),

new InStockStatus(8534, true),

new InStockStatus (6411, true)

};

// Сформировать запрос, объединяющий объекты классов Item и

// InStockStatus для составления списка наименований товаров и их

// наличия на складе. Теперь для этой цели используется анонимный тип.

var inStockList = from item in items

join entry in statusList

on item.ItemNumber equals entry.ItemNumber

select new { Name = item.Name,

InStock = entry.InStock };

Console.WriteLine ("Товар\tНаличие\n") ;

// Выполнить запрос и вывести его результаты,

foreach(var t in inStockList)

Console.WriteLine("{0}\t{1}", t.Name, t.InStock);

}

}

Обратите особое внимание на следующий оператор select.

select new { Name = item.Name,

InStock = entry.InStock };

Он возвращает объект анонимного типа с двумя доступными только для чтения свойствами: Nameи InStock. Этим свойствам присваиваются наименование товара и состояние его наличия на складе. Благодаря применению анонимного типа необходимость в упоминавшемся выше классе Tempотпадает.

Обратите также внимание на цикл foreach, в котором выполняется запрос. Теперь переменная шага этого цикла объявляется с помощью ключевого слова var. Это необходимо потому, что у типа объекта, хранящегося в переменной inStockList, нет имени. Данная ситуация послужила одной из причин, по которым в C# были внедрены неявно типизированные переменные, поскольку они нужны для поддержки анонимных типов.

Прежде чем продолжить изложение, следует отметить еще один заслуживающий внимания аспект анонимных типов. В некоторых случаях, включая и рассмотренный выше, синтаксис анонимного типа упрощается благодаря применению инициализатора проекции. В данном случае просто указывается имя самого инициализатора. Это имя автоматически становится именем свойства. В качестве примера ниже приведен другой вариант оператора selectиз предыдущей программы.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

Представляем Вашему вниманию похожие книги на «C# 4.0: полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0: полное руководство»

Обсуждение, отзывы о книге «C# 4.0: полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.