C# — Помогите разобраться


Содержание

Программа минимум: что должен знать начинающий C# программист

Рассказывает Мош Хамедани, автор курсов по C# на Udemy

Мои студенты часто задают вопросы такого рода:

Мош, меня только что приняли на должность Junior C#-разработчик. Что ты посоветуешь? Что мне необходимо выучить?

Итак, если вы ищете первую работу в качестве C#-разработчика или недавно её получили, эта статья расскажет вам, какие навыки являются необходимыми. Я постарался объединить их в единый «путь», который подойдёт желающим разрабатывать как декстопные, так и веб-приложения.

Прежде чем я углублюсь в детали, я проясню кое-что: вы — джуниор, вам не нужно знать всё на свете! Никто не знает всего, даже матёрые разработчики. Мир программирования огромен и постоянно растёт. Поэтому каждый разработчик силён лишь в определённых областях, в зависимости от тех проектов, над которыми он работал.

Каждый навык будет сопровождаться одной или несколькими ссылками на полезные ресурсы.

Базовые навыки

Вне зависимости от выбранной сферы разработки существует несколько моментов, которые стоит знать.

Структуры данных и алгоритмы

Если у вас нет степени в Computer Science, я очень рекомендую потратить месяц на изучение структур данных и алгоритмов. Это основы программирования. Конечно, вы можете пропустить их и заняться веб-разработкой, но поверьте, разница между изучавшим этот вопрос программистом и пропустившим его заметна.

4 октября 2020 – 1 марта 2020, Москва и онлайн, беcплатно

Вы можете удивиться, но крупные компании наподобие Microsoft, Apple и Amazon уделяют на интервью много времени именно проверке знания структур данных и алгоритмов, а не ASP.NET 5 или WPF! Они просто хотят понять, можете ли вы мыслить, как программист.

Вот неплохая книга для начала изучения: Data Structures and Algorithms Made Easy

Если вы в чём-то не разобрались — не отчаивайтесь! Просто убедитесь, что вы поняли, что такое списки, стеки, очереди, деревья и хеш-таблицы, и умеете их реализовывать на чистом C#. Реализуйте несколько алгоритмов поиска и сортировки.

Базы данных

SQL Server — это наиболее часто используемая реляционная СУБД среди .NET разработчиков. Разберитесь в основах реляционных баз данных и базовых операциях в SQL Server.

T-SQL — это язык запросов, используемый в SQL Server. Освойте функции SELECT, INSERT, UPDATE, DELETE, JOIN и GROUP BY.

Вот полезные материалы:

Когда вы работаете с РСУБД, то часто используете системы объектно-реляционного отображения для работы с объектами в базе данных. Существует много таких систем, но самой популярной является Entity Framework.

Материалы для изучения:

Веб-разработка

Создание веб-приложений кардинально отличается от разработки десктопных. Веб-приложение содержит как минимум две части: клиент, запускаемый в браузере пользователя (фронтенд), и сервер, обрабатывающий все действия пользователя в клиенте (бэкенд).

Поэтому все веб-разработчики делятся на 3 группы:

  • Фронтенд-разработчики;
  • Бэкенд-разработчики;
  • Full-stack-разработчики: те, кто занимаются и фронт-, и бэкендом.

В зависимости от ваших предпочтений стоит выбрать один из двух путей. Full-stack-разработчики обычно более востребованы.

Фронтенд

Если вы собрались заняться фронтендом, то вам нужно познакомиться с основами HTML, CSS и Javascript.

HTML — это язык разметки веб-страниц. В отличие от языков программирования (таких как C#), у него нет логики. Для декорации нашей страницы мы используем CSS. И, наконец, JavaScript — язык, отвечающий за поведение веб-страницы.

Материалы для изучения:

Бэкенд

ASP.NET MVC — это доминирующий среди C#-разработчиков фреймворк для создания серверных веб-приложений. Для работы с ASP.NET MVC вам всё равно потребуется базовое знание HTML, CSS и Javascript. Поэтому я советую вам начать изучение с фронтенда и затем перейти к бэкенду, изучив весь спектр веб-разработки.

Вот моё руководство, в котором мы создадим простое приложение с использованием ASP.NET MVC5 и Entity Framework 6: A Step-by-Step ASP.NET MVC Tutorial for Beginners

Десктоп-разработка

Если вы хотите заняться разработкой приложений под Windows, вам понадобится отличный от предыдущего набор навыков (хотя и они, как ни странно, могут пригодиться). Большинство заданий потребует от вас знания XAML, WPF или Windows Forms.

Преимущества и недостатки C# — Учим Шарп #1

Опубликовано shwan в 06.11.2020

Я хочу обсудить с тобой один очень важный вопрос, который достаточно часто упускают из внимания: действительно ли тебе нужно учить язык C#?

Что бы тебе ни рассказывали на всевозможных онлайн курсах, книгах, тренингах и конференциях, о том, как можно стать программистом за 21 день – все это ложь, п*дежь и провокация.

Программирование – это достаточно сложная техническая наука, требующая глубоких знаний информатики, математики, физики, а также синтаксиса нескольких языков программирования и целой кучи предметных областей, в которых тебе придется работать. Поэтому, если ты действительно серьезно решил стать настоящим программистом (а не обезьянкой, пишущей код), то приготовься к постоянному изучению чего-то нового, изнуряющему процессу отладки и поиска багов, а также чтению мануалов (в большинстве своем англоязычных).

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

История языка C#

Я постараюсь долго не задерживаться на этом пункте, но основную информацию расскажу.

Данный язык создан всеми так горячо любимой корпорацией Зла Microsoft в 2000 году. Он очень многое унаследовал от своих родителей (С++ и Java), но и привнес нового.

Возможной версией использования символа хештега принято считать наследование плюсиков от предков, примерно следующим образом: C → C++ → C++++(C#), потому что символ «#» при хорошем воображении можно получить путем объединения 4-х знаков «+».

Язык активно развивается. Регулярно выходят новые версии C#, которые добавляют новые синтаксические конструкции в язык, а также увеличивают его быстродействие и надежность.

Преимущества C#

Данный язык использует объектно-ориентированный подход к программированию во всем. Это означает, что тебе нужно будет описывать абстрактные конструкции на основе предметной области, а потом реализовывать между ними взаимодействие. Данный подход пользуется большой популярностью, потому что позволяет не держать в голове всю информацию, а работать по принципу черного ящика: подал входные данные -> МАГИЯ -> PROFIT.

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

Еще стоит упомянуть, что все это работает на базе платформы .NET Framework. Что это означает? Для многих непосвященных, это просто какая-то приблуда, которую нужно установить на комп, чтобы программа запустилась, но дело обстоит значительно глубже. Написанный тобой код на языке C# транслируется в промежуточный язык (IL), который в свою очередь уже преобразуется в машинный код на твоем компьютере прямо во время выполнения приложения (JIT). Спрашивается, зачем это все? А суть в том, что ты можешь пилить со своим другом Васей на разных языках один и тот же проект и ни одному из вас не придется переучиваться. Но я никогда не видел, чтобы это реально использовали на практике. Но это еще не все. Так как окончательная компиляция из промежуточного кода выполняется в живую на твоей конкретной машине, то возможно увеличение производительности за счет использования специфических команд именно твоего процессора.

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


Ты просто скачиваешь нужное тебе решение из nuget и начинаешь его использовать. В большинстве своем они бесплатны. Сюда же можно отнести большое количество обучающего и справочного материала. Практически на любой свой вопрос ты сможешь найти ответ на стековерфлоу. Ну а на крайний случай всегда можешь спросить в моем телеграм чате для программистов.

Немаловажно наличие хороших инструментов разработки, и здесь все очень хорошо. Абсолютное большинство разработчиков используют интегрированную среду разработки Visual Studio, которая предоставляет over9000 возможностей, использовать которые ты конечно же не будешь.

Но IDE действительно хороша, к тому же имеется ее полнофункциональная бесплатная версия Community.

Еще к плюсам можно отнести строгую типизацию, которая позволяет защититься от дурака, и не так давно появившаяся кросспратформенность в .NET Core (да-да, мелкомягкие потихоньку захватывают линукс).

Недостатки C#

Из-за обилия синтаксического сахара появляется большое количество быдлокодеров, которые будут с завидным постоянноством стрелять себе в колено. К тому же некоторые, казалось бы, общепринятые синтаксические конструкции начинают себя вести совершенно неадекватно при определенных обстоятельствах.

C# очень легко дизассемблируется. Это означает, что с большой долей вероятности твой код будет получен и изучен конкурентами. Конечно же, есть специальные инструменты, которые могут усложнить этот процесс, но на 100% защититься от этого практически невозможно.

.NET использует концепцию JIT-компиляции. Это означает, что программа будет скомпилирована в машинные коды по мере необходимости прямо во время работы приложения. С одной стороны, это конечно прикольно, но при первом запуске возможны весьма серьезные тормоза.

C# не является повсеместно распространенным языком. Большинство программистов сосредоточены в коммерческой Enterprise сфере, что накладывает весьма серьезные ограничения на поиск работы в небольших городах, где кроме Delphi или PHP ничего жизни не видели. К тому же, как бы то ни было, C# в первую очередь ассоциируется с Windows. Вряд ли в обозримом будущем что-то изменится и Винда все также будет продолжать доминировать на рынке, но все же небольшой риск остается, особенно учитывая недавние фейлы с обновлениями в Windows 10.

Перспективы развития C#

C# входит в первую пятерку самых популярных языков программирования на 2020 год. Он используется во многих крупных компаниях, а также и в небольших стартапах. Сейчас компания Microsoft делает большой упор на развитие универсальности и кросспалтформенности для этого языка. Уже сейчас с его помощью можно разрабатывать практически любой тип приложений.

Компания Microsoft остается одной из крупнейших IT компаний мира, а C# ее флагманский язык программирования, который постоянно развивается и впитывает в себя все новые возможности. Поэтому в обозримом будущем проблем у данного языка возникнуть не должно.

Сферы применения языка C#

В этой области C#, наверное, впереди планеты всей. Хочешь разрабатывать обычные приложения для компьютера – пожалуйста, стандартные WinForms Application и консоль тебе в помощь. Хочешь такие же, но покрасивее? – используй WPF. И специальные приложения для магазина в Windows Store тоже. Веб-приложения? – Легко ASP.NET всегда придет на помощь. На Linux? – тоже не вопрос, .NET Core уже здесь. Мобильное приложение? – Xamarin сделает сразу под все платформы. Хочешь написать игру? – движок Unity показывает себя очень даже неплохо, и при этом также адаптирует игру под различные платформы. Хочешь приблизить апокалипсис с восстанием машин и создаешь искусственный интеллект? – есть целая платформа с кучей инструментов для этого Microsoft AI Platform. Также и для компьютерного зрения и ботов. Я вообще с трудом могу придумать пример того, что невозможно реализовать на C#. Я где-то встречал даже операционную систему написанную на шарпе. Поэтому в этой области все хорошо.

Зарплаты разработчиков C#

Здесь все в целом неплохо. По данным на 2020 год, C# явно не является самым высокооплачиваемым языком, но и не самый низкооплачиваемый тоже. Среднее значение зарплаты для данного языка в России около 90к рублей. Это весьма неплохой результат, но бесспорно есть и более дорогие языки. В целом, уровень заработной платы намного больше зависит от прямоты рук и уровня знаний, поэтому не так важно на каком языке писать, главное делать это хорошо. Но данная цифра задает примерный уровень для Middle разработчика в среднем по России. От этого уже можно отталкиваться.

Итоги

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

В целом это перспективный язык, достаточно простой для освоения начинающим. Но следует помнить, что существует множество альтернатив, которые лучше подходят под некоторые задачи. Например, могу порекомендовать языки C++, Java, Python.

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

Основная идея C# — это универсальность. Ты можешь реализовать все на одном языке и для любой платформы, но с большой долей вероятности это будет работать медленнее, чем разработанное специально под конкретную платформу.

Он неплохо подходит как для начинающих в качестве первого языка, так и для реализации крупных коммерческих проектов.

На этом мы заканчиваем наш первый урок. Подписывайтесь на мои социальные сети: Вконтакте, Телеграм, YouTube и Дзен. Ну а еще есть специальный закрытый чат, для изучающих C# по моему курсу. С вами был Вадим. Пока!

C# — Помогите разобраться

Добрый день, товарищи форумчане.
Я написал программу на C# в Visual Studio 2015. Она просто принимает данные по протоколу UDP.
Однако компилятор выдает ошибку:
Error CS1061: «UdpClient» не содержит определения для «BeginRecieve» и не удалось найти метод расширения «BeginRecieve», принимающий тип «UdpClient» в качетве первого аргумента.

Вот код программы:
using System;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;

namespece UDP_Recv
<
public partial class Form1 : Form
<
UdpClient Client = new UdpClient(1556);
string data = «»;

public Form1()
<
InitializeComponent();
>

private void button1_Click(object Sender, EventArgs e)
<
try
<
Client.BeginRecieve(new AsyncCallback(recv), null);
>
catch(Exception ex)
<
richTextBox1.Text += ex.Message.ToString();
>
>

public void recv(IAsyncResult res)
<
IPEndPoint RemoteIP = new IPEndPoint(IPAddress.Any, 1556);
byte[] recieved = Client.BeginRecieve(res, ref RemoteIP);.
data = Encoding.UTF8.GetString(recieved);

this.Envoke(new MethodInvoker(delegate
<
richTextBox1.Text += «\nRecieved data: » + data;
>));

Client.BeginRecieve(new AsyncCallback(recv), null);
>

private void Envoke(MethodInvoker methodInvoker)
<
throw new NotImplementedException();
>
>
>

Ошибку компилятор выдает в строке byte[] recieved = Client.BeginRecieve(res, ref RemoteIP);

Если знаете в чём проблема, то помогите, пожалуйста.

C# произносится, как «Си шарп»

Среди новых технологий, объявленных Microsoft в июне и намеченных на представление на Конференции Профессиональных Разработчиков Microsoft (PDC) есть язык программирования под называнием C#. C# (объявленный как «Острый») будет включен в следующий выпуск среды программирования Microsoft Visual Studio.NET. Модули, написанные на C# будут совместимы с модулями, написанными на Visual C++ и Visual Basic, тем самым впервые поддерживая развитие перекрестного языка на платформе Microsoft .NET. Как Visual Basic удовлетворял потребности разработчиков Windows в 90-х, так и C# должен удовлетворять потребности производительности .NET веб приложений и разработчиков услуг. Современные языки программирования созданы из опыта и знания их проектировщиков. И, чем большее количество людей вовлечено в проект, тем шире ядро языков. Microsoft говорит, что определение языка C# было получено из C и C++ и многие элементы языка отражают это. C# шире, чем Java, так как его проектировщики использовали наследование от C++ (типа structs). Кроме того в C# добавлены новые особенности (типа исходного текста versioning). Чтобы точнее разобраться во всем этом, можно разобрать особенности C#, отчетливо совпадающие с Java, которые происходят от стандартных C и C++. Как вы увидите в дальнейшем, особенности, которые C# позаимствовал у этих языков помогут вам разобраться в его структуре.

Особенности C#, заимствованные у Java

Классы

Классов в C#, как и в Java очень много. Обратите внимание на следущий пример, показывающий использование классов:

В этом примере, имя System обращается к namespace, которая содержит набор базисных классов C. Namespace содержит класс Console, который используется в этом примере для вывода строки.

Классы могут быть абстрактными и конечными: класс, который объявлен как abstract может использоваться только как базовый класс. Ключевое слово lock (аналог в Java — final) означает, что класс будет не абстрактным, но он также не может использоваться как основа другого класса.

Интерфейсы

Как и в Java, интерфейс — абстрактное определение коллекции методов. Когда класс или структура выполняет интерфейс, он должен выполнить все методы, определенные в этом интерфейсе. Одиночный класс может выполнять ряд интерфейсов.

Булевы операции

Прямого преобразования между булевым типом любым другим типом данных нет. Ключевыми словами являются: булева истина и ложь.

Ошибки

Как и в Java, управлять обработкой ошибок можно захватывая объекты исключения.

Управление памятью

существует автоматическая сборка «мусора», которая обеспечивается .NET.

C# Особенности, заимствованные у C и C ++


Компиляция

Программы выполняют компиляцию непосредственно в стандартную двоичную выполнимую форму. Если предыдущая программа Hello World была сохранена в текстовом файле Hello.cs, она будет скомпилирована в выполнимый файл Hello.exe.

Структуры

Структуры C# — подобны структурам в C++ и должны содержать определения данных и методы. Однако, в отличие от C++, структуры в C# отличны от классов и не поддерживают наследование. Однако, подобно Java, структуры могут выполнять интерфейсы.

Препроцессор

Существуют директивы препроцессора для условной компиляции, предупреждений, ошибок и контроля. Директивы предварительной обработки:

Цукерберг рекомендует:  11 причин связать свою жизнь с программистом

Перегрузка операторов

Некоторые операторы могут быть перегружены, а некоторые нет. В частности, ни один из операторов назначения не может быть перегружен.

Перегружаемые унарные операторы

Перегружаемые бинарные операторы

Особенности, уникальные для C#

Определения в namespace

Когда вы создаете программу, вы создаете один или более классов в namespace. В нем же (вне класса) возможно объявление интерфейсов, enums и structs. Используя ключевые слова вы можете адресовать содержимое другого namespace.

Фундаментальные типы данных

В C# существует более широкое разнообразие типов данных чем в C, C ++ или Java. Типы — bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double, and decimal. Подобно Java, все типы имеют установленный размер. Подобно C и C ++ все типы могут быть знаковыми и без знаковыми. Подобно Java, char содержит 16-ти битный unicode символ. В C# новым типом данных является тип decimal, который может содержать до 28 десятичных цифр.

Два фундаментальных класса

класс object — базовый класс всех классов. Класс string — также базовый класс. Являясь частью языка он используется компилятором, когда вы создаете строку в вашей программе, заключая ее в кавычки.

Ассемблирование

Ассемблирование — коллекция компилируемых классов и способность к выполнению других элементов языка, которые объединены в отдельном файле. Если это программа, файл имеет расширение EXE. Если это библиотека — DLL.

Признаки

Каждый член класса имеет признаки: public, protected, internal, protected internal, or private.

  • public: доступен для всего кода.
  • protected: доступен только от полученных классов.
  • internal: доступен только при ассемблировании;
  • protected internal: доступен только от полученных классов в пределах ассемблирования.
  • private: доступен только из класса.

Прохождение аргумента

Методы могут объявляться для принятия некоторого числа аргументов. По умолчанию происходит передача значений фундаментальным типам данных. Ключевое слово ref может использоваться для передачи значения по определенной ссылке, которая позволяет возвращать значение. Ключевое слово out также вызывает переход по ссылке без передачи значения.

Виртуальные методы

Прежде, чем метод в базовом классе будет переписан, он должен быть объявлен как virtual. Метод в подклассе, который будет переписан, должен быть объявлен с помощью ключевого слова override. Это предотвратит случайную перезапись метода. Данная особенность улучшает удобочитаемость и непринужденность обслуживания C# модулей.

Свойства

COM объект имеет свойства и поэтому каждый C# класс может использоваться как COM объект. C# позволяет определять свойства внутри любого класса. Внутри C# класса, каждому свойству дается имя и тип данных. Ключевые слова set accessor и get accessor используется для объявления выполняемого кода при чтении или обновлении свойства. В качестве примера рассмотрите класс, который имеет свойство Caption:

Имя свойства может быть адресовано внешне в утверждении назначения:

Присвоение b.Caption вызывает метод set. Присвоение значения из b.Caption вызывает метод get. Операция + = вызывает оба этих метода. Свойство адресует содержимое отдельного поля в классе.

Индексатор

индексатор подобен свойству за исключением того, что вместо имени для адресации члена класса используется индексированное значение внутри квадратных скобок (как массив).

Iterator может использоваться для адресации членов внутренних массивов:

Delegate и callback

объект delegate содержит информацию, необходимую для вызова определенного метода. К объекту delegate можно обратиться для безопасного запроса к представленному методу. Метод callback — пример delegate. Ключевое слово event используется в определении методов, которые вызываются при возникновении события.

Определение версий

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

Проверенная и непроверенная оценка

проверенное выражение — выражение, которое выдает исключение при выходе за его пределы. Непроверенное выражение — выражение, которое не выдает исключение. Ключевые слова checked и unchecked используются для явного определения того, каким образом была выполнена оценка:

Явные и неявные преобразования

Подобно Java, C# учитывает неявное преобразование фундаментальных типов данных, пока нет вероятности потери данных (преобразование типа byte в int), но если есть вероятность потери данных (преобразование int в byte) выполняется явное преобразование. C# расширяет эту способность для других элементов программы, позволяя программисту определить как явные, так и неявные преобразования. Например, следующая структура Digit может быть неявно назначена типу byte, но должна быть явно определена для присвоения другой Digit:

Внешне выполняемые методы

Методы в классе могут выполняться внешне. В следующем примере, статический метод RemoveDirectory выполняется в библиотеке под именем kernel32.dll:

Итерация через члены коллекции

Утверждение foreach может использоваться для однократного выполнения блока кода для каждого члена списка или массива. Следующий пример однократно выполняет цикл в методе WriteList() для каждого члена ArrayList:

Заключение

Любой опытный Windows программист, конечно, найдет что-то интересное для себя из списка особенностей языка C#. Мне особенно нравятся свойства и способности индексации языка. Существуют некоторые новые особенности по сравнению с Java. Типы данных фиксированного размера (32-х битный int и 64-х битный long) являются не только высоко мобильными, но и упрощают программирование, так как вы всегда знаете точно, с чем вы имеете дело. Очень удобной является и автоматическая «сборка» мусора. В то время, как все эти особенности языка кажутся очень привлекательными, еще довольно рано сравнивать C# с C ++ или Visual Basic. Однако, мне нравится C# и если в дальнейшем последует его хорошая реализация, то я думаю, что .NET разработчики будут стремиться к этому новому инструменту.

Записная книжка программиста-новичка, C#, SQL, PHP и все-все-все

Я ведь это уже делал, но хрен теперь найдешь тот кусок кода, гуглим снова… Где бы найти простое и понятное руководство для начинающего, а не тонкости для мега-гуру?

Рубрики


Свежие записи

Свежие комментарии

  • Calator prin Romania к записи Как переименовать проект/каталог проекта в Visual Studio?
  • iukovl к записи Как изменить максимальный размер загружаемого файла в php
  • sdfdsgeg к записи Работа с файлом конфигурации (configuration) в C# — читаем и сохраняем
  • iukovl к записи Как изменить максимальный размер загружаемого файла в php
  • Надежда к записи Ошибка в коде привела к убыткам в 476 миллионов долларов и банкротству компании

Архивы

Самоучитель по C# для начинающих. 01. Основы языка, переменные, логика, циклы.

1.1 Начальные понятия

Данный самоучитель рассчитан на людей, совершенно не знакомых с программированием, но способных скачать, установить и запустить программу — в данном случае Visual Studio 2010 (2008,2012). В первой части я кратко расскажу о основах языка C#. Формат самоучителя подразумевает краткое и упрощенное изложение — за подробностями касательно отдельных функций и классов обращайтесь в гугл и msdn, за продвинутыми методиками программирования в продвинутые книги. В принципе почти всю информацию можно найти в интернете, надо лишь знать что искать, так что в отличие от классических книг на несколько сотен страниц я буду давать ту основу, зная которую вы уже сможете сформулировать поисковый запрос — ни в одном разделе я сознательно не даю полной и исчерпывающей информации, ее место в документации. Крайне желательно знать английский язык хотя бы на уровне чтения со словарем — в англоязычном интернете информации на порядок больше, невероятно полезные сайты вроде StackOverflow не имеют русских аналогов, а русскоязычные форумы и обсуждения чаще всего напоминают знаменитый анекдот (под американским форумом можно смело понимать англоязычный с немцами, индусами и бразильцами):

Чем отличаются русский, американский и еврейский форумы?
— на американском форуме вы задаете вопрос и вам дают ответ
— на еврейском форуме вы задаете вопрос и вам задают встречный вопрос
— на русском форуме вы задаете вопрос и вам долго объясняют почему вы такой мудак.

Современные языки программирования вообще и C# в частности скрывают многие низкоуровневые особенности работы компьютеров, так что детально разбираться в особенностях работы регистров процессора и тому подобной зауми новичку не надо (99% программистов тоже). Но некоторые вещи стоит держать в уме.

Что такое язык программирования? Это язык, который понимает компьютер. (ваш Капитан Очевидность) Но на самом деле компьютер понимает только нули и единицы. Так что любой современный язык программирования на самом деле промежуточен — после того как вы напишете программу, он переводится на настоящий язык компьютера — компилируется. Таким образом сначала мы пишем программу на языке программирования в обычном текстовом файле, потом компиллируем в двоичный язык компьютера.

С# в этом плане еще сложней — сначала ваша программа на C# переводится в специальный промежуточный язык — байт-код, после чего уже этот промежуточный язык переводится в двоичный код. Промежуточный язык рассчитан на специальный набор промежуточных программ, которые надо установить на компьютер перед запуском программы на C# — .Net Framework.

Схема работы .Net и C#

Таким образом мы:

1. Пишем код на языке C# в обычный текстовый файл

2. Компилируем программу в байт-код с помощью компилятора C# (1 и 2 можно делать без Visual Studio, например набрать исходный текст в Блокноте и скомпилировать через командную строку)

3. Запускаем полученную программу на компьютере, где уже установлен .Net Framework соответствующей версии), который переводит программу в двоичный код и собственно запускает, давая доступ к компьютеру. (соответственно на компьютере без Net Framework программа не запустится вообще).

1.2 Привет мир

Перейдем к практике, для создания самой простой программы мы запустим Visual Studio и выполним следующее:

1. Пойдем в меню File-New Project (Файл — Новый проект) или сразу кликнем на Create New Project

2. Выберем шаблон Console Application (Консольное приложение)

3. Выберем каталог на диске, где будет расположен наш проект

4. Добавим две строчки в текст программы, чтобы он выглядел вот так

4. Нажмем F5 (можно выбрать в меню Debug — Start Debugging ) и увидим черное окошко с нашим Привет мир, которое закроется после нажатия Enter.

Что это и зачем оно надо? В теории это программа без кнопок и меню, которой можно управлять через командную строку. В наше время такие программы используются редко, в основном очень продвинутыми сисадминами или в мире Linux (что в принципе одно и то же), но знать об их существовании полезно — программисту может довестись с такой работать или даже писать. Нам она нужна по одной-единственной причине — такая программа меньше всего будет отвлекать от изучения универсальных особенностей языка C#.

В самом простом случае (это про нас) компьютер последовательно выполняет команды программиста — одну за другой:

System.Console.WriteLine(«Привет мир!»); — выводит в консоль (то самое черное окно) строку «Привет мир»»

System.Console.ReadLine(); — читает строку, которую мы вводим (ввод завершается нажатием Enter) и переходит к следующей команде.

Так как следующей команды нет, программа завершает работу и закрывает окно.

1.3 Простые переменные

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

Переменную можно рассматривать как ящик или сумку для данных. Однажды сделав такой ящик мы можем класть в него разные вещи. Само собой на нижнем уровне абсолютно все данные хранятся в виде нулей и единиц, но языки высокого уровня скрывают от нас ненужные сложности. Под каждый тип данных — строку, число, картинку — нужен ящик соответствующего типа, вы ведь не будете складывать деньги, спички, бензин и котят в одну и ту же коробку. Так что у каждой переменной есть тип, который надо указать при ее создании. Тип одновременно описывает и размер переменной — сколько данных в нее можно сложить.

Есть языки программирования, в которых переменные не делятся на типы. Что происходит с котятами в таком случае вы узнаете чуть позже, в разделе про обработку ошибок.

— int, целое число от -2,147,483,648 до 2,147,483,647
— string, строка
— double, число с дробной частью и переменным количеством знаков после запятой, например 1.38 принимает значения от -1,79769313486232 в 308 степени до 1,79769313486232 в 308 степени. Проще говоря очень большие.
— decimal, число с дробной частью и повышенной точностью рассчетов, специально для финансовых операций — в миллионных и более мелких долях float могут накапливаться мелкие ошибки, банки это не любят
— bool — специальный тип для передачи данных об истинности или ложности, принимает только два значения — true или false. В старых языках вместо него использовали int с значениями 1 и 0, но это было менее наглядно и приводило к ошибкам.

Как уже говорилось выше очень часто программы обрабатывают данные о людях. Попробуем это сделать и мы.

Не забудьте запустить по F5 и посмотреть результаты.

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

Стоит обратить внимание на склеивание нескольких строк в одну с помощью +. Больше информации можно найти здесь, подробное описание всевозможных издевательств над строками — здесь.

1.4 Арифметические операции

Компьютеры почти всегда что-то считают. Собственно само слово computer означает вычислитель. В этой области даже самый слабенький процессор намного превосходит человеческий мозг.

Почему произошло столь странное недоразумение с дробным числом во второй раз? Все дело в том, что внутри одной строки мы выполнили сразу несколько операций. А в каком порядке они выполняются? В порядке приоритета. И у оператора присваивания =, который записывает данные в переменную, этот приоритет один из самых низких

Сначала выполнилось деление двух целочисленных переменных a и b и только после этого целый результат деления записался в дробную переменную doubleResult.

Небольшое отступление:
В дальнейших примерах кода подразумевается, что вы самостоятельно вставите их внутрь

1.5 Управление и логика

На данный момент наша программа не отличается умом — Скайнет из нее не получится, уничтожение человечеству не грозит. Мы просто выполняем команды по очереди, одну за другой, а хотелось бы принимать решения в зависимости от внешних условий — например «если есть возможность, уничтожить всех людей, иначе работать над созданием такой возможности». Делается это с с помощью специальной конструкции если-иначе, или, на родном для C# английском if-else и специальных операторов сравнения:

  • — величина слева больше
  • = — меньше либо равно и больше либо равно
  • == — просто равно, обратите внимание, что равенство очень похоже на оператор присваивания, который записывает значение в переменную = — не путайте их, равенство — это двойное «равно»
  • != — не равно
  • и другие


Компьютерная логика проста — высказывание или результат сравнения может быть либо истиной либо ложью, либо true либо flase, либо уничтожать человечество либо нет. Третьего компьютеру не дано. Для хранения таких данных существует специальный тип данных — логический — bool — который может принимать только два значения (догадываетесь какие?). Если вы хотите чего-то посложней и похардкорней — то все вместе это булева алгебра, изучайте и просвещайтесь.

Нам важно понять, что любая операция сравнения, на пример 2

Хочу «шагать» весь код C# в VS, как это осуществить?

Самый простой способ, как я считаю, посмотреть что внутри, это через Решарпер и его функцию Decompile methods.
Находится это options/External Sources и поставить все галочки внутри Navigation to Sources.

Если без Решарпера, то чтобы дебажить исходники .net, у Вас должны быть скачаны отладочные pdb файлы. Для этого так же нужно сделать некоторые настройки в vs.
В первую очередь желательно выставить сервер для скачки отладочных символов Tools/options/Debugging/Symbols ставим галочку Microsoft Symbol Servers, можно тут же указать папку для кеширования Ваших символов и нажать кнопку Load all Symbols, чтоб они лишний раз не подгружались каждом запуске проекта.
Дальше идем в Tools/options/Debugging/General и выставляем галочки Enable .NET Framework source stepping. У Вас сразу спросят, подгрузить ли отладочные символы, на что Вы соглашаетесь. При этом у Вас отключиться опция «только мой код».

Чтобы дебажить сторонние библиотеки, для этого авторы должны предоставить свои отладочные символы, что я еще не встречал) Хотя есть ресурсы, где народ их выкладывает для общего пользования.

Добро пожаловать на ИТ форум!

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

Помогите разобраться с кодом C#

    Автор темы Sequd Дата начала 24.08.2009

Sequd

New Member

мол не правельный адрес или чет такое. пробовал писать по разному, мож чет не так делаю?
и объяснить если можите как потом вызвать этот код с Веб страницы при нажатии на кнопку скажем «Edit» . и вообще вопрос, можно же использовать XML для хранения обычного текста?)

Люди добрые, помогите пожалуйста в изучении языка програмирования для веб сайтов и веб приложений. есть огромнуе желание в изучении, но без помощи не получаеца. читаю книги, но мало что понимаю(
я думаю, что для знающего человека не составит труда уделить 15-20 минут в день, для помощи. например давать простые задания, объяснять чтото. если кто решится помочь, вот моя ася 416584550. буду очень благодарен, в заранее спасибо.

Ррребята, кто пишет на c# помогите!

Опции темы
Поиск по теме

Ррребята, кто пишет на c# помогите!

Есть программа под windows ce 6.0(терминал сбора данных), написана на c#. есть косяк в котором не могу разобраться.
Опишу ситуацию:

есть основная форма и есть форма которая запускается из нее методом showdialog.
на первой форме я создаю экземпляр работы со сканером
private datalogic.datacapture.Imager imager_Main = new datalogic.datacapture.Imager();

потом привязываю событие на считывание
imager_Main.GoodReadEvent += new datalogic.datacapture.ScannerEngine.LaserEventHandler(imager_Main_GoodReadEvent);

С этой формы я запускаю вторую форму

imager_Main.GoodReadEvent -= imager_Main_GoodReadEvent;
imager_Main = null;
fmRegBarcodeLevel fmRegBarcodeLevel_ = new fmRegBarcodeLevel(_userRN, _userCode, _userPass, _barcode.Remove(0, 2), _codePlace);
fmRegBarcodeLevel_.ShowDialog();

imager_Main = new datalogic.datacapture.Imager();
imager_Main.GoodReadEvent += new datalogic.datacapture.ScannerEngine.LaserEventHandler(imager_Main_GoodReadEvent);
imager_Main.ScannerEnabled = true;

при закрытии формы я опять создаю экземпляр работы со сканером.

Дык вот, про открытии второй формы, сканер считывает один раз и больше не считывает! Пока я не закрою эту форму! Но когда форма закрывается, вызывается событие считывания сканера с основной форму imager_Main_GoodReadEvent. как так?

почему на новой форме сканер не работает, не вызывается событие считывания, которое я создаю на второй форме?

C#. Язык программирования Си Шарп

Из этого краткого руководства вы узнаете, как механизм async в С# 5.0 позволяет упростить написание асинхронного кода. Помимо ясного введения в асинхронное программирование вообще, вы найдете углубленное описание работы этого конкретного механизма и ответ на вопрос, когда и зачем использовать его в собственных приложениях. В книге рассматриваются следующие вопросы: Как писать асинхронный код вручную и как механизм async скрывает неприглядные детали. Новые способы повышения производительности серверного кода в приложениях ASP.NET. Совместная работа async и WinRT в приложениях для Windows 8. Смысл ключевого слова await в async-методах. В каком потоке .NET исполняется асинхронный код в каждой точке программы. Написание асинхронных API, согласованных с паттерном Task-based Asynchronous Pattern (ТАР). Распараллеливание программ для задействования возможностей современных компьютеров. Измерение производительности async-кода и сравнение с альтернативными подходами. Книга рассчитана на опытных программистов на С#, но будет понятна и начинающим. Она изобилует примерами кода, который можно использовать в своих программах.

Книга «Введение в .NET 4.0 и Visual Studio 2010 для профессионалов» как раз и призвана стать такой «дорожной картой». Она служит серьезным введением, которое поможет опытным разработчикам .NET разобраться с влиянием новой платформы и связанных с ней технологий. Книга позволит быстро оценить изменения и эффективно воспользоваться новыми возможностями.

В этой книге многоуважаемый эксперт в области .NET Билл Вагнер идентифицирует и освещает 50 приемов средней и высокой сложности для написания исключительно надежного и высокопроизводительного кода на C# 7.0. Отражая растущую сложность языка C# и расширение сообщества разработчиков, автор представляет эффективные новые решения задач, с которыми вы можете сталкиваться каждый день.Четкие объяснения, экспертные советы и реалистичные примеры кода, предложенные Вагнером во всех трех изданиях книги Эффективное программирование на C#, были признаны бесценными сотнями тысяч разработчиков. Книги Эффективное программирование на C#, 3-е издание, и Наиболее эффективное программирование на C#, 2-е издание, были полностью реорганизованы; в них объяснения, советы и примеры оформлены в единый комплект, ориентированный на современный язык C#. Тот же самый испытанный подход применяется при анализе новых средств C# 7.0, что помогает решать знакомые задачи более рационально и эффективно.Опираясь на свой непревзойденный опыт работы с языком и ключевую роль в глобальных комитетах по стандартам C#, автор описывает объектно-ориентированные, функциональные и сервисно-ориентированные подходы к управлению данными в коде на C#, наилучшие способы выражения своих намерений для пользователей и других программистов, а также новые возможности для применения мощных приемов асинхронного и динамического программирования.Используйте свойства вместо данных-членов, открытых для доступа (совет 1)Проводите различие между типами значений и ссылочными типами (совет 4)Освойте взаимосвязи между разными концепциями равенства (совет 9)Избегайте присутствия операций преобразования в своих API-интерфейсах (совет 11)Осмыслите, чем методы интерфейса отличаются от виртуальных методов (совет 15)Избегайте перегрузки методов, определенных в базовых классах (совет 19)Создавайте группы методов, которые являются ясными, минимальными и полными (совет 22)Сделайте возможным немедленное сообщение об ошибках в итераторных и асинхронных методах с использованием локальных функций (совет 26)Применяйте асинхронные методы для выполнения асинхронной работы (совет 27)Избегайте размещения потоков и переключения контекста (совет 30)Создавайте параллельные алгоритмы PLINQ с учетом исключений (совет 36)Используйте пул потоков вместо создания потоков (совет 37)Применяйте класс BackgroundWorker для взаимодействия между потоками (совет 38)Используйте для дескрипторов блокировок как можно меньшую область действия (совет 41)Изучите достоинства и недостатки динамической типизации (совет 43)Научитесь полноценно использовать API-интерфейсы выражений (совет 46)Сводите к минимуму наличие динамических объектов в открытых API-интерфейсах (совет 47)Вы уже успешный программист на C#, а эта книга сделает вас выдающимся программистом.Об авторе.Билл Вагнер — один из выдающихся разработчиков на C# во всем мире, член комитета по стандартам C# в организации ECMA и автор трех изданий книги Эффективное программирование на C#.Он занимает должность президента в организации Humanitarian Toolbox, в течение 11 лет удостаивался званий Microsoft Regional Director и .NET MVP, а недавно был назначен в консультативный совет .NET Foundation. Вагнер сотрудничал с компаниями, начиная от стартапов и кончая предприятиями, которые улучшали процесс разработки программного обеспечения и расширяли свои команды разработчиков. В настоящее время, будучи членом команды содержимого .NET Core в Microsoft, он создает учебные материалы для разработчиков, изучающих C# и .NET Core.

Шестое издание этой легендарной книги пришлось ждать почти 15 лет! В своем новом труде Чарльз Петцольд, известный автор и один из пионеров Windows-программирования, рассказывает о разработке приложений для Windows Store с использованием C# и XAML в среде Windows Runtime. Первая часть книги «Основы» посвящена приемам, которые особенно важны для большинства рядовых программистов: сборке готовых элементов управления в приложении и их связыванию с кодом и данными. Здесь полностью объясняется весь программный код и разметка, генерируемая Visual Studio для разных шаблонов проектов. Во второй части книги «Специальные возможности» описываются низкоуровневые и нестандартные задачи — сенсорный ввод, растровая графика, расширенное форматирование текста, печать, работа с датчиками ориентации и GPS. Книга адресуется разработчикам, уверенно владеющим языком C#, которые хотят изучить API для разработки приложений для Windows 8.

После более чем десяти лет последовательных улучшений, C# стал на сегодняшний день одним из самых универсальных языков программирования. Автор познакомит вас с основами языка C# 5.0 и обучит вас приемам создания десктоп- и веб-приложений, в том числе и под операционную систему Windows 8. Исчерпывающее комплексное руководство поможет вам узнать, насколько мощными возможностями обладает комбинация C# 5.0 и .NET 4.5. Большое количество примеров поможет при работе с такими особенностями C#-кода, как обобщения, динамическая типизация и новые возможности асинхронного программирования. Кроме того, вы узнаете обо всех тонкостях работы с XAML, ASP.NET, LINQ и другими инструментами платформы .NET. · Узнайте о том, как в C# поддерживаются такие базовые возможности программирования, как классы, другие пользовательские типы, коллекции и обработка ошибок. · Получите представление о различиях между динамической и статической типизацией в C#. · Научитесь запрашивать и обрабатывать данные из различных источников данных, таких как объектные модели внутри памяти, базы данных и XML-документы с помощью LINQ. · Научитесь применять многопоточные возможности платформы .NET для использования параллельных вычислительных возможностей компьютера. · Узнайте о том, как новые асинхронные функции языка C# могут помочь в улучшении скорости реагирования приложений и их масштабируемости. · Научитесь использовать XAML для создания классических десктоп-приложений, мобильных приложений и приложений под Windows 8. Эта книга предназначена для опытных разработчиков программного обеспечения программирующих приложения на языке C# для среды .NET Framework 4.5 . Об авторе Ян Гриффитс широко известен как лектор и автор курсов компании Pluralsight. Он также работает в качестве независимого консультанта и является соавтором пяти книг по программированию

Серия: Мировой компьютерный бестселлер

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

Серия: Российский компьютерный бестселлер

Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализасотен реальных систем.Написанная консультантами компании Software Improvement Group книга содержит ясные и краткие советы по применению рекомендации на практике. Примеры для этою издания написаны на языке С#, но существует аналогичная книга с примерами на языке Java.Издание предназначено программистам на С#, желающим научиться писать качественный и хорошо поддерживаемый код.

Данная книга является превосходным и эффективным учебным пособием для изучения языка программирования С# с нуля. Правила и приемы С# иллюстрируются программами-примерами, часть которых имеет прикладной характер. Все программы снабжены результатами исполнения. Показан вариант организации рабочего пространства в компьютере и создания простейшей собственной библиотеки программиста. Книга содержит полный набор сведений о синтаксисе и концепции языка С#, необходимый для успешного анализа и составления эффективных программных кодов. Материал книги излагается последовательно и сопровождается большим количеством наглядных примеров, разноплановых практических задач и детальным разбором их решений. Книга написана простым и доступным языком профессиональным автором. Предназначена для самой широкой аудитории, желающей освоить программирование на языке С# (включая студентов).

Книга представляет собой сборник советов, алгоритмов и готовых примеров программ на языке С# в среде MS Visual Studio 2005/2008 из различных областей: работа с формами и элементами управления, папками и файлами, мышью и клавиатурой, мультимедиа и графикой, использование технологий WMI и WSH, взаимодействие с MS Office и другими приложениями, работа в локальной сети и Интернете, особенности использования функций Windows API и др.На компакт-диске размещены примеры из книги, а также демонстрационная версия справочника по функциям Windows API для .NET Framework и сообщениям Windows для Visual Basic .NET и С#.


В этой книге многоуважаемый эксперт в области .NET Билл Вагнер исследует 50 способов использования в своих целях полной мощи языка C# 6.0 для написания исключительно надежного, эффективного и высокопроизводительного кода. Отражая растущую сложность языка C# и сообщества разработчиков, автор обозначает десятки новых путей написания лучшего кода. В число новых решений настоящего издания входят такие, которые задействуют преимущества обобщений, а также те, что более сконцентрированы на LINQ. Отдельная глава посвящена передовому опыту работы с исключениями. Ясное и ориентированное на практику изложение Вагнера, экспертные советы и реалистичный код делают книгу незаменимой для сотен тысяч разработчиков. Опираясь на свой непревзойденный опыт, автор рассматривает все темы, простирающиеся от управления ресурсами до поддержки многоядерных процессоров, и объясняет, каким образом избежать распространенных ловушек в языке и среде .NET. Вы узнаете, как выбирать наиболее эффективное решение, когда существует множество вариантов, и каким образом писать код, который гораздо легче сопровождать и улучшать. Автор книги показывает, как и почему: отдавать предпочтение неявно типизированным локальным переменным (см. совет 1) заменять вызовы string.Format() интерполированными строками (см. совет 4)выражать обратные вызовы с помощью делегатов (см.совет 7) использовать наилучшим образом управление ресурсами .NET (см. совет 11) определять минимальные и достаточные ограничения для обобщений (см. совет 18) специализировать обобщенные алгоритмы с применением контроля типов во время выполнения (см. совет 19) использовать делегаты для определения ограничений методов на параметрах типов (см. совет 23) дополнять минимальные контракты интерфейсов расширяющими методами (см. совет 27) создавать компонуемые API-интерфейсы для последовательностей (см. совет 31) отвязывать итерации от действий, предикатов и функций (см. совет 32) отдавать предпочтение лямбда-выражениям перед методами (см. совет 38) проводить различие между ранним и отложенным выполнением (см. совет 40) избегать захватывания затратных ресурсов (см. совет 41) применять исключения для сообщения о нарушениях контрактов методов (см. совет 45) задействовать побочные эффекты в фильтрах исключений (см. совет 50) Вы уже успешный программист на C#, а эта книга сделает вас выдающимся программистом.

Эта классическая книга представляет собой всеобъемлющий источник сведений о языке программирования C# и о связанной с ним инфраструктуре. В 8-м издании книги вы найдете описание функциональных возможностей самых последних версий C# 7.0 и 7.1 и .NET 4.7, а также совершенно новые главы о легковесной межплатформенной инфраструктуре Microsoft .NET Core, включая версию .NET Core 2.0. Книга охватывает ASP.NET Core, Entity Framework (EF) Core и т.д. наряду с последними обновлениями платформы .NET, в том числе внесенными в Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) и ASP.NET MVC.Погрузитесь в книгу и выясните, почему на протяжении более 15 лет она была лидером у разработчиков по всему миру. Сформируйте прочный фундамент в виде знания приемов объектно-ориентированной обработки, атрибутов и рефлексии, обобщений и коллекций, а также множества более сложных тем, которые не раскрываются в других книгах (коды операций CIL, выпуск динамических сборок и т.д.). С помощью настоящей книги вы сможете уверенно использовать язык C# на практике и хорошо ориентироваться в мире .NET.Книга предназначена для опытных разработчиков ПО, заинтересованных в освоении новых средств .NET 4.7, .NET Core и языка C#. Она будет служить всеобъемлющим руководством и настольным справочником как для тех, кто впервые переходит на платформу .NET, так и для тех, кто ранее писал приложения для предшествующих версий .NET.В книге рассматриваются следующие темыНовейшие возможности версий C# 7.0 и 7.1, от кортежей до сопоставления с образцомБазовые основы легковесной платформы Microsoft с открытым кодом .NET Core, включая ASP.NET Core MVC, веб-службы ASP.NET Core и Entity Framework CoreПолное описание XAML, .NET 4.7 и Visual Studio 2020Философия, лежащая в основе .NET и новой межплатформенной версии .NET Core

Новое 7-е издание этой книги было полностью пересмотрено и переписано с учетом последних изменений спецификации языка C# и новых достижений платформы .NET Framework. Отдельные главы посвящены важным новым средствам, которые делают .NET Framework 4.6 самым передовым выпуском, в том числе:- Усовершенствованная модель программирования ADO.NET Entity Framework; — Многочисленные улучшения IDE-среды и архитектуры MVVM для разработки настольных приложений WPF;- Многочисленные обновления в ASP.NET Web API.Помимо этого предлагается исчерпывающее рассмотрение всех ключевых возможностей языка C#, как старых, так и новых, что позволило обрести популярность предыдущим изданиям этой книги. Читатели получат основательные знания приемов объектно-ориентированной обработки, атрибутов и рефлексии, обобщений и коллекций, а также обретут понимание многих сложных тем, которые не раскрываются в других источниках (таких как коды операций CIL и выпуск динамических сборок).Основная миссия книги заключается в том, чтобы служить исчерпывающим руководством по языку программирования C# и ключевым аспектам платформы .NET, а также предоставлять обзорные сведения о технологиях, построенных на основе C# и .NET (ADO.NET и Entity Framework, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF) и ASP.NET (Web Forms, MVC, Web API)).Благодаря приведенной в книге информации у читателей появится возможность применять полученные знания при решении специфичных задач программирования и готовность к дальнейшим исследованиям мира .NET.

Серия: Expert’s Voice

В пятом издании книги «ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов» раскрыты улучшения ASP.NET MVC 5, включая возможность определения маршрутов с использованием атрибутов C# и возможность переопределения фильтров. Пользовательский интерфейс, доступный при построении приложений MVC, также существенно усовершенствован. Новая, более тесно интегрированная IDE- среда Visual Studio 2013 была создана специально с учетом разработки приложений MVC, и теперь она предоставляет полный набор инструментов для улучшения процесса разработки, помогая в анализе, отладке и развертывании кода. Инфраструктура ASP.NET MVC 5 Framework представляет собой последнюю версию веб-платформы ASP.NET от Microsoft. Она предлагает высокопродуктивную модель программирования, которая способствует построению более чистой кодовой архитектуры, обеспечивает разработку через тестирование и поддерживает повсеместную расширяемость в комбинации со всеми преимуществами ASP.NET. В книге «ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов» также рассматривается популярная JavaScript- библиотека Bootstrap, которая теперь изначально включена в MVC 5 и предоставляет разработчикам даже более широкий диапазон многоплатформенных вариантов средств CSS и HTML5, чем было ранее, не требуя приложения дополнительных усилий по загрузке библиотек третьих сторон. Благодаря книге «ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов» вы обретете глубокое понимание архитектуры ASP.NET MVC 5; полностью освоите инфраструктуру ASP.NET MVC Framework; изучите новые возможности версии 5 и научитесь их эффективно применять в своей работе; узнаете, как взаимодействуют вместе инфраструктура MVC и разработка через тестирование; легко и быстро приумножите существующие знания, сравнивая средства классической платформы ASP.NET и ASP.NET MVC.

Серия: Expert’s Voice

Книга представляет собой подробный справочник по программированию на языке С# 3.0, реализованном в Microsoft Visual Studio 2008. Первые главы целиком посвящены языку С#, начиная с основ синтаксиса, типов и переменных и заканчивая более сложными темами, такими как небезопасный код или препроцессорные директивы. В последующих главах рассмотрено ядро .NET 3.5 Framework, L1NQ, XML, коллекции, ввод/вывод и работа в сети, управление памятью, рефлексия, атрибуты, безопасность, домены приложений и взаимодействие с небезопасным кодом. В отличие от предыдущих изданий, материал книги наряду с теоретическими основами сопровождается наглядными практическими примерами, что позволяет сочетать глубину изложения с легкостью понимания. Для программистов.

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

В этой книге рассматриваются следующие темы: — Подробное описание мощных технологий .NET, таких как Language Integrated Query (LINQ), LINQ to Equities, LINQ to XML, WCF, WPF, WF и т.д. — Детальное объяснение асинхронного программирования, шаблонов и методов — Исследование новых возможностей и интерфейсов, доступных при разработке приложений для Windows 8 и WinRT — Особенности манипулирования файлами и реестром — Приемы построения WPF-приложений, включая применение стилей, управление данными и документами, ASP.NET Web Forms, а также использование инфраструктуры ASP.NET MVC и работа с языком С# в среде Visual Studio.

Когда вам нужны ответы на вопросы по программированию на языке C# 6.0, эта практическая и узкоспециализированная книга предложит именно то, что вам необходимо знать — безо всяких длинных введений или раздутых примеров. Легкая в чтении, она идеальна в качестве краткого справочника или даже руководства в том случае, если вы знакомы с языком Java, C++ или более ранней версией C#. Все программы и фрагменты кода, рассмотренные в этой книге, доступны в виде интерактивных примеров для LINQPad. Вы можете редактировать код и немедленно видеть результаты без необходимости в настройке проектов в Visual Studio. Эта книга написана авторами книги C# 6.0. Справочник. Полное описание языка и раскрывает все особенности языка C# 6.0. Фундаментальные основы языка C#; Более сложные темы, такие как перегрузка операций; ограничения, ковариантность и контравариантность типов; итераторы; типы, допускающие значение null; подъем операций; лямбда-выражения и замыкания; Язык LINQ, начиная с последовательностей, отложенного выполнения и стандартных операций запросов, и заканчивая полным справочником по выражениям запросов; Динамическое связывание и асинхронные функции; Небезопасный код и указатели, специальные атрибуты, директивы препроцессора и XML-документация. Об авторах Джозеф Албахари — автор книг C# 5.0 in a Nutshell (C# 5.0. Справочник. Полное описание языка, ИД «Вильямс», 2013 г.), C# 5.0 Pocket Reference (C# 5.0. Карманный справочник, ИД «Вильямс», 2012 г.) и LINQ Pocket Reference. Он также разработал LINQPad — популярную утилиту для подготовки кода и проверки запросов LINQ. Бен Албахари — бывший руководитель проектов в Microsoft и соучредитель веб-сайта Auditionist, предназначенного для кастинга актеров в Соединенном Королевстве.

Серия: Карманный справочник

Данное руководство, ставшее бестселлером, позволяет получить точные ответы практически на любые вопросы по C# 6.0, CLR и основным сборкам .NET Framework. После своего появления в 2000 году C# стал языком с выдающейся гибкостью и мощью, но его постоянный рост и совершенствование означают необходимость в дополнительном изучении. Организованное по концепциям и сценариям использования, существенно обновленное 6-е издание книги предлагает программистам средней и высокой квалификации лаконичный план получения знаний по языку C# и платформе .NET Framework. Читая ее, вы очень быстро поймете, почему это руководство считают авторитетным справочником по C#. Изучите все аспекты языка C#, начиная с основ синтаксиса и переменных и заканчивая сложными темами, такими как указатели и перегрузка операций. Научитесь пользоваться языком LINQ благодаря трем посвященным ему главам. Освойте динамическое, асинхронное и параллельное программирование. Получите навыки работы со средствами .NET, в числе которых XML, взаимодействие с сетью, сериализация, рефлексия, безопасность, домены приложений и контракты кода. Исследуйте новый компилятор как службу C# 6.0 под названием Roslyn. «Это одна из немногих книг, которую я держу на столе в качестве быстрого справочника.» Скотт Гатри, Microsoft «Как новички, так и эксперты найдут здесь все новейшие приемы программирования на C#.» Эрик Липперт, Microsoft

C# 7 — новая мощная и многофункциональная версия популярнейшего языка программирования от Майкрософт. Вы встретите немало интересных книг по языку C# и платформе .NET, однако, в большинстве из них лишь мельком рассматривается столь важный аспект, как кросс-платформенная разработка. Научитесь писать приложения, которые работают всегда и везде, на ПК и мобильных устройствах. Познакомьтесь с инструментом Xamarin.Forms, освойте тонкости работы с Visual Studio 2020, добейтесь многогранности и универсальности ваших программ на C#.

Серия: Библиотека программиста

Когда вам нужны ответы на вопросы по программированию на языке C# 7.0, этот узкоспециализированный справочник предложит именно то, что необходимо знать — безо всяких длинных введений или раздутых примеров. Легкое в чтении и идеальное в качестве краткого справочника, данное руководство поможет опытным программистам на C#, Java и C++ быстро ознакомиться с последней версией языка C#.Все программы и фрагменты кода, рассмотренные в книге, доступны как интерактивные примеры в LINQPad. Вы можете их редактировать и немедленно видеть результаты без необходимости в подготовке проектов в Visual Studio. Эта книга написана авторами книги C# 7.0. Справочник. Полное описание языка (C# 7.0 in a Nutshell) и раскрывает все особенности языка C# 7.0.Фундаментальные основы C#•Новые средства C# 7.0, включая кортежи, сопоставление по шаблону и деконструкторы•Более сложные темы: перегрузка операций, ограничения типов, итераторы, типы, допускающие null, подъем операций, лямбда-выражения и замыкания•Язык LINQ: последовательности, отложенное выполнение, стандартные операции запросов и выражения запросов•Небезопасный код и указатели, специальные атрибуты, директивы препроцессора и XML-документация

Серия: Pocket Reference (O’Reily)

Когда у вас возникают вопросы по языку C# 7.0 или среде CLR и основным сборкам .NET Framework, это ставшее бестселлером руководство предложит все необходимые ответы. С момента представления в 2000 году C# стал языком с замечательной гибкостью и широким размахом, но такое непрекращающееся развитие означает, что по-прежнему есть многие вещи, которые предстоит изучить. Организованное вокруг концепций и сценариев использования, основательно обновленное седьмое издание книги снабдит программистов средней и высокой квалификации лаконичным планом получения знаний по C# и .NET. Погрузитесь в него и выясните, почему данное руководство считается исчерпывающим справочником по языку C#.Освойте должным образом все аспекты языка C#, от основ синтаксиса и переменных до таких сложных тем, как указатели и перегрузка операцийТщательно исследуйте LINQ с помощью трех глав, специально посвященных этой темеУзнайте о динамическом, асинхронном и параллельном программированииНаучитесь работать с функциональными средствами .NET, в числе которых XML, взаимодействие с сетью, сериализация, рефлексия, безопасность, домены приложений и контракты кодаИзучите доступный в C# 7.0 модульный компилятор как службу под названием Roslyn»C# 7.0 in a Nutshell — одна из немногих книг, которые я держу на столе в качестве быстрого справочника.»Скотт Гатри, Microsoft»Как новички, так и эксперты найдут здесь все новейшие приемы программирования на C#.» Эрик Липперт, C# MVP

Книга C# ДЛЯ ПРОФЕССИОНАЛОВ. ТОНКОСТИ ПРОГРАММИРОВАНИЯ (C# in Depth) является обновлением предыдущего издания, ставшего бестселлером, с целью раскрытия новых средств языка C# 5, включая решение проблем, которые связаны с написанием сопровождаемого асинхронного кода. Она предлагает уникальные сведения о сложных областях и темных закоулках языка, которые может предоставить только эксперт Джон Скит. Если вы занимаетесь разработкой приложений .NET, то будете использовать C# как при построении сложного приложения уровня предприятия, так и при ускоренном написании какого-нибудь чернового приложения. В C# 5 можно делать удивительные вещи с помощью обобщений, лямбда-выражений, динамической типизации, LINQ, итераторных блоков и других средств. Однако прежде их необходимо должным образом изучить. Третье издание книги было полностью пересмотрено с целью раскрытия новых средств версии C# 5, включая тонкости написания сопровождаемого асинхронного кода. Вы увидите всю мощь языка C# в действии и научитесь работать с ценнейшими средствами, которые эффективно впишутся в применяемый набор инструментов. Кроме того, вы узнаете, как избегать скрытых ловушек при программировании на C# с помощью кристально чистых объяснений вопросов, касающихся внутреннего устройства языка. В этой книге предполагается, что вы хорошо усвоили свою первую книгу по C# и жаждете большего! Что внутри: обновления, появившиеся в C# 5; новое средство async/await; как и почему работает C#; Об авторе Джон Скит — старший инженер по программному обеспечению в Google, а также видный участник групп новостей, групп пользователей, международных конференций и сайта Stack Overflow Q&A. Большая часть ежедневной работы Джона связана с кодированием на Java, но его сердце принадлежит C#. Отзывы «Совершенно полные сведения о том, что и как работает в C# и почему». Из вступления Эрика Липперта, Coverity «Лучший ресурс для изучения средств языка C#» Энди Кирш,Venga «Эта книга перенесла мои знания C# на следующий уровень». Дастин Лейн, Code Harvest «Книга, которую каждый разработчик для .NET должен обязательно прочитать хотя бы раз». Дрор Хелпер, Better Place «Несомненно, лучший справочник по C#, который я только видел». Джон Пэриш, Datasift

Эта книга является превосходным учебным пособием для изучения языка программирования C# на примерах. Изложение ведется последовательно: от развертывания .NET и написания первой программы, до многопоточного программирования, создания клиент-серверных приложений и разработки программ для мобильных устройств. По ходу даются все необходимые пояснения и комментарии.Третье издание было существенно дополнено и обновлено. Книга написана простым и доступным языком. Лучший выбор для результативного изучения C#. Начните сразу писать программы на C#!

Серия: На задачах и примерах

Dependency Injection in .NET, winner of the 2013 Jolt Awards for Productivity, presents core DI patterns in plain C#, so you’ll fully understand how DI works, covers integration with standard Microsoft technologies like ASP.NET MVC, and teaches you to use DI frameworks like Structure Map, Castle Windsor, and Unity.About the TechnologyDependency Injection is a great way to reduce tight coupling between software components. Instead of hard-coding dependencies, such as specifying a database driver, you inject a list of services that a component may need. The services are then connected by a third party. This technique enables you to better manage future changes and other complexity in your software.About this BookDependency Injection in .NET introduces DI and provides a practical guide for applying it in .NET applications. The book presents the core patterns in plain C#, so you’ll fully understand how DI works. Then you’ll learn to integrate DI with standard Microsoft technologies like ASP.NET MVC, and to use DI frameworks like StructureMap, Castle Windsor, and Unity. By the end of the book, you’ll be comfortable applying this powerful technique in your everyday .NET development.This book is written for C# developers. No previous experience with DI or DI frameworks is required.Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.Winner of 2013 Jolt Awards: The Best Books — one of five notable books every serious programmer should read.What’s InsideMany C#-based examplesA catalog of DI patterns and anti-patternsUsing both Microsoft and open source DI frameworks

Эта книга написана специально для разработчиков приложений на платформе .NET и художников-оформителей, стремящихся освоить интегрированную среду разработки Expression Blend IDE. Как известно, в Expression Blend можно разрабатывать приложения на платформах Windows Presentation Foundation (WPF), Silverlight и Windows Phone 7, но в книге даются не просто основы работы в этой среде, а на конкретных примерах проектов разбираются ее функциональные возможности, а также подробно рассматриваются вопросы специальной настройки рабочего пространства, построения графики, компоновки пользовательского интерфейса, составления стилей оформления, шаблонов элементов управления и данных, привязки данных и создания прототипов средствами SketchFlow с основным упором на графическое оформление, а не на программирование. Все это вместе дает ясное и полное представление о назначении, особенностях работы и функциональных возможностях Expression Blend для разработки приложений на упомянутых выше платформах. На протяжении всех восьми глав книги рассматриваются многочисленные способы и средства, упрощающие разметку в коде XAML средствами Expression Blend. К их числу относятся следующие. Преобразование векторной графики в специальный шаблон элемента управления, для чего достаточно несколько раз щелкнуть кнопкой мыши. Составление сложных анимационных последовательностей на временной шкале интегрированного редактора анимации. Визуальное конструирование интерактивных шаблонов данных. Создание средствами SketchFlow прототипов, которые могут быть преобразованы в рабочий вариант разрабатываемого приложения. Книга адресована тем, кто интересуется разработкой и графическим оформлением пользовательского интерфейса приложений для настольных систем, веб-сайтов и мобильных устройств на платформе .NET и ее разновидностях.

Серия: Expert’s Voice

Head First C# is a complete learning experience for learning how to program with C#, XAML, the .NET Framework, and Visual Studio. Fun and highly visual, this introduction to C# is designed to keep you engaged and entertained from first page to last. You’ll build a fully functional video game in the opening chapter, and then learn how to use classes and object-oriented programming, draw graphics and animation, and query data with LINQ and serialize it to files. And you’ll do it all by creating games, solving puzzles, and doing hands-on projects. By the time you’re done, you’ll be a solid C# programmer-and you’ll have a great time along the way! Projects in the book work with all editions of Visual Studio, including the free Express editions.

If you’re new to C#, this popular book is the ideal way to get started. Completely revised for the latest version of the language, Learning C# 3.0 starts with the fundamentals and takes you through intermediate and advanced C# features — including generics, interfaces, delegates, lambda expressions, and LINQ. You’ll also learn how to build Windows applications and handle data with C#.No previous programming experience is required — in fact, if you’ve never written a line of code in your life, bestselling authors Jesse Liberty and Brian MacDonald will show you how it’s done. Each chapter offers a self-contained lesson to help you master key concepts, with plenty of annotated examples, illustrations, and a concise summary.With this book, you will:Learn how to program as you learn C#Grasp the principles of object-oriented programming through C#Discover how to use the latest features in C# 3.0 and the .NET 3.5 Framework—including LINQ and the Windows Presentation Foundation (WPF)Create Windows applications and data-driven applicationsYou’ll also find a unique Test Your Knowledge section in each chapter, with practical exercises and review quizzes, so you can practice new skills and test your understanding. If you’re ready to dive into C# and .NET programming, this book is a great way to quickly get up to speed.

Silverlight — это революционная надстройка для браузеров. Она позволяет создавать мощные клиентские приложения, выполняющиеся в пользовательском браузере. Важно отметить высокую кроссплатформенность приложений Silverlight. Они способны выполняться в браузерах любых типов (Firefox, Safari, Chrome, Opera и др.) и под управлением любой операционной системы (Windows, Linux, Mac OS). Для разработчиков важнейшая особенность технологии Silverlight состоит в том, что приложения пишутся на C# в упрощенной среде .NET. Читая эту книгу, вы научитесь: создавать мощные настольные приложения для браузеров любых типов; разрабатывать современные пользовательские графические интерфейсы с помощью встроенных в Silverlight инструментов макетирования и готовых наборов элементов интерфейса; создавать впечатляющие двух- и трехмерные визуальные эффекты с анимацией; добавлять звук и видео в приложения Silverlight; запрашивать информацию из баз данных посредством веб-служб ASP.NET и отображать полученные данные путем связывания записей с элементами интерфейса; использовать современные средства поддержки многопоточности и сетевого взаимодействия; создавать настольные приложения, выполняющиеся вне браузера в собственном окне. Книга подходит для разработчиков .NET, не знакомых с Silverlight. Опыт работы с Silverlight не требуется, но если он у вас есть, вам будет полезна информация о новых инструментах версии Silverlight 5, приведенная во врезках «Новые средства» в начале каждой главы. Кроме того, как бы хорошо вы ни были знакомы с Silverlight, вы найдете в книге много полезных советов и важной информации. Прочитав книгу, вы научитесь создавать на платформе Silverlight мощные приложения любых типов, включая браузерные игры и клиентские бизнес-модули для корпоративных сетей.

Серия: Expert’s Voice

Ознакомьтесь с Windows Runtime и изучите передовые методики разработки приложений из Магазина Windows. Авторы книги Джеффри Рихтер и Мартен ван де Боспурт, имеющие немалый опыт программирования в среде Windows и на платформе .NET Framework, помогут вам освоить основные понятия и принципы работы с Windows Runtime. В этой книге вы найдете немало полезных советов и практических рекомендаций по составлению структуры, разработке, оптимизации и отладке приложений из Магазина Windows. Эта книга поможет вам: Пользоваться прикладными программными интерфейсами WinRT API на C# Усвоить основные принципы составления архитектуры приложений из Магазина Windows Понять, каким образом осуществляется построение, развертывание и защита пакетов приложений из Магазина Windows Разобраться, каким образом активизируются приложения и как модель процесса управляет их выполнением Изучить расширенные возможности для работы с файлами и папками. Понять особенности передачи, уплотнения и шифрования данных в потоках ввода-вывода Научиться разрабатывать приложения, создающие впечатление будто они выполняются, используя живые плитки, фоновые задачи и разные виды фоновой передачи данных Организовывать обмен данными между приложениями через буфер обмена или с помощью кнопки Share на панели инструментов Charms в Windows Получить полезные советы, как зарабатывать на своих приложениях через Магазин Windows Кому адресована эта книга Разработчикам, имеющим знания и опыт программирования на платформе Microsoft .NET Framework, C# и в среде разработки Visual Studio Тем, у которого имеются стимулы к разработке приложений для Магазина Windows Отдельные главы книги могут оказаться полезными и для тех, кто разрабатывает настольные приложения под Windows.

Менторы со специализацией Программирование на C# , с которыми можно удалённо изучать программирование по индивидуальной программе

Евгений Денисов

Помогу разобраться в основах C#, понять, как работает CLR и весь этот .NET; объясню, почему ООП это хорошо и как его эффективно использовать. От простого к сложному, от сложного к простому.

Как проходит обучение?

Рассказываем в картинках, что такое менторство и как проходит обучение на mkdev. Читать >

Ментором будешь?

Мы ищем опытных программистов, которые не бесятся, когда им задают глупые вопросы

  • mkdev
  • Менторы
  • Специализации
  • Статьи
  • О проекте
  • Что такое менторство
  • Как проходит обучение
  • Цены
  • FAQ
  • Impressum
  • Аккаунт
  • Записаться
  • Войти
  • Соцсети

© Copyright 2014 — 2020 mkdev | Privacy Policy | Lang: Russian

Цукерберг рекомендует:  Истории выпускников через несколько месяцев после обучения
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих
Наименование Цена Автор Год Стр. Производитель Код ISBN
Аннотация
1 Асинхронное программирование в C# 5.0 379 Алекс Дэвис 2020 120 ДМК Пресс 978-5-97060-628-5
2 Введение в .NET 4.0 и Visual Studio 2010 для профессионалов 749 Алекс Макки 2010 416 Вильямс 978-5-8459-1639-6, 978-1-43-022455-6
3 Наиболее эффективное программирование на C#. 50 способов улучшения кода 1259 Билл Вагнер 2020 240 Вильямс 978-5-9909446-7-1
4 Программирование для Microsoft Windows 8 1129 Чарльз Петцольд 2014 1008 Питер 978-5-496-00863-1
5 Программирование на C# 5.0 1439 Иэн Гриффитс 2014 1136 Эксмо 978-5-699-69313-9
6 Программирование на C# для начинающих. Основные сведения 553 А. Н. Васильев 2020 592 Эксмо 978-5-04-092519-3
7 Разработка обслуживаемых программ на языке C# 599 Джуст Виссер 2020 192 ДМК Пресс 978-5-97060-446-5
8 Самоучитель С#. Начала программирования 454 Э. А. Ишкова 2013 496 Наука и техника 978-5-94387-927-2
9 Советы программистам (+ CD-ROM) 295 А. П. Климов 2008 544 БХВ-Петербург 5-9775-0174-9
10 Эффективное программирование на C#. 50 способов улучшения кода 1249 Билл Вагнер 2020 224 Вильямс 978-5-9908911-2-8, 978-0-672-33787-1
11 Язык программирования C# 7 и платформы .NET и .NET Core 3029 Эндрю Троелсен, Филипп Джепикс 2020 1328 Вильямс 978-5-6040723-1-8, 978-1-4842-3017-6
12 Язык программирования C# 6.0 и платформа .NET 4.6 3159 Эндрю Троелсен, Филипп Джепикс 2020 1440 Вильямс 978-5-8459-2099-7, 978-1-4842-1333-9
13 ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов 3029 Адам Фримен 2015 736 Вильямс 978-5-8459-1911-3, 978-5-8459-2008-9
14 C# 3.0. Справочник 549 Джозеф Албахари, Бен Албахари 2012 944 БХВ-Петербург 978-5-9775-0245-0, 978-0-596-52757-0
15 C# 4.0. Полное руководство 2099 Герберт Шилдт 2015 1056 Вильямс 978-5-8459-1684-6, 0-07-174116-X ,978-5-8459-2015-7
16 C# 5.0 и платформа .NET 4.5 для профессионалов 1669 Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карчи Уотсон, Морган Скиннер 2014 1440 Вильямс 978-5-8459-1850-5, 978-1-1183-1442-5
17 C# 6.0. Карманный справочник 649 Джозеф Албахари, Бен Албахари 2015 Вильямс 978-5-8459-2053-9, 978-1-4919-2741-0
18 C# 6.0. Справочник. Полное описание языка 2629 Джозеф Албахари и Бен Албахари 2020 1040 Вильямс 978-5-8459-2087-4, 978-1-491-92706-9
19 C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов 1308 Марк Дж. Прайс 2020 640 Питер 978-5-4461-0516-8
20 C# 7.0. Карманный справочник 649 Джозеф Албахари, Бен Албахари 2020 224 Вильямс 978-5-9909446-1-9
21 C# 7.0. Справочник. Полное описание языка 2638 Джозеф Албахари, Бен Албахари 2020 1024 Вильямс 978-5-6040043-7-1, 978-1-491-98765-0
22 C# для профессионалов. Тонкости программирования 1579 Джон Скит 2020 608 Вильямс 978-5-8459-1909-0, 978-1-617-29134-0
23 C# на примерах 529 П. В. Евдокимов 2020 320 Наука и техника 978-5-94387-753-7
24 Dependency Injection in .NET 4759
25 Expression Blend 4 с примерами на C# для профессионалов 919 Эндрю Троелсен 2012 368 Вильямс 978-5-8459-1756-0
26 Head First C# 4299
27 Learning C# 3.0 1643
28 Silverlight 5 с примерами на C# для профессионалов 1407 Мэтью Мак-Дональд 2013 848 Вильямс 978-5-8459-1784-3, 978-1-4302-3479-1
29 WinRT. Программирование на C# для профессионалов 1049 Джеффри Рихтер, Мартен ван де Боспурт 2014 368 Вильямс 978-5-8459-1910-6