Обложка канала

C# 1001 notes. Страница 4

Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого.

  • C# 1001 notes

    #basics

    Консольное приложение и класс Console

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

    Ниже я приведу основные методы класса Console (сигнатуры опущены намеренно ввиду наличия у некоторых из них перегрузок):

    🔶 Console.Read - считать символ

    🔶 Console.ReadLine - считать последовательность символов

    🔶 Console.Write - отобразить значение

    🔶 Console.WriteLine - отобразить значение и перевести каретку в начало ('\r') следующей строки ('\n')

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

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

    💬 Почаще разбирайте код других разработчиков, чтобы набивать руку в чтении и подсматривать интересные для себя моменты, ведь программирование- это не только написание кода, но и его чтение ☝️

    @csharp_1001_notes
  • C# 1001 notes

    #basics

    Абсолютно минимально возможная программа на C# и Quine

    🔶 Ранее в заметке №2 я уже публиковал минимально возможную программу на C#, однако упомянул, что некоторые её части так же опциональны.

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

    class Program
    {
    static void Main()
    {
    }
    }

    🔶 Довольно интересным типом программ, на мой взгляд, являются Куайны (Quine), названные так в честь американского логика и философа Willard Van Orman Quine (1908—2000).

    Куайн (квайн, англ. quine) — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста.

    Заинтригованы? Тогда попробуйте написать куайн на C# самостоятельно 😉

    p.s. Один из многочисленных вариантов вы сможете найти по ссылке.

    @csharp_1001_notes
  • C# 1001 notes

    ❇️ Рабочая неделя заканчивается, а значит у нас будет больше времени поломать голову и поразбираться с нюансами языка C#.

    Предлагаю вашему внимаю самые 🔥 интересные вопросы этой недели:

    🔶 Readonly struct vs classes

    🔶 Why is the call ambiguous?

    🔶 What happens when creating a variable?

    🔶 Random values seem to be not really random?

    Всем хороших и плодотворных выходных 👍

    #sof_weekly
  • Реклама

  • C# 1001 notes

    #basics

    Чем C# отличается от VB .NET

    Оба этих языка являются высокоуровневыми и входят в перечень языков программирования для платформы .NET. В основном их отличия синтаксические, но есть и более значительные.

    О последних далее:

    Есть в C# (нет в VB .NET):

    🔶 Указатели и возможность писать unsafe код

    🔶 Статические классы

    🔶 Контроль переполнения checked/unchecked

    🔶 Чувствительность к регистру (case-sensivity)

    🔶 Более строгая проверка типов

    🔶 Синтаксический сахар (делает язык менее многословным)

    Есть в VB .NET (нет в C#):

    🔶 XML литералы

    🔶 Вспомогательные методы IsNumeric и PMT

    🔶 Inline объявление дат, например #12/31/2000#

    🔶 Оператор Like для сравнения строки с шаблоном

    От себя замечу, что на сегодняшний день большинство проектов, которые продолжают использовать VB .NET являются скорее legacy (требующие сопровождения и исправления ошибок, нежели активной разработки).

    C#, напротив, уверенно занял лидерство в качестве основного языка разработки для платформы .NET 😉

    💬 Крайне показательным в этом случае являются результаты опроса на StackOverflow за 2018, в котором 34.4% опрошенных указали, что используют C#, в то время как у VB .NET эта цифра едва дотягивает до 6.8%.

    @csharp_1001_notes
  • C# 1001 notes

    #basics

    №4. Чем C# отличается от Java

    Оба языка программирования являются объектно-ориентированными, унаследовали свой синтаксис от языка Си и исполняются в управляемой среде.

    Как бы то ни было, между ними есть и различия. Далее основные из них:

    🔶 class B extends A равнозначно class B : A

    🔶 В Java отсутствуют namespace

    🔶 В C# для синхронизации доступа между потоками используется lock, в то время как в Java synchronized

    🔶 Наличие в С# модификатора доступа internal

    🔶 Перечисления (enum) в Java являются полноценными классами 😲

    🔶 C# позволяет использовать строковые литералы в конструкции switch

    🔶 Программы на C# используют .NET Framework, в случае с Java это платформа Java SE.

    @csharp_1001_notes
  • C# 1001 notes

    #basics

    №3. Кто автор языка C#

    Язык C# был разработан группой инженеров компании Microsoft для платформы .NET в далёком 2000 году и изначально имел кодовое название COOL (C-style Object Oriented Language).

    Главным архитектором является датский инженер-программист Anders Hjelsberg.

    C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java.

    @csharp_1001_notes
  • C# 1001 notes

    #basics

    №2. Минимально возможная программа на C#

    Минимально возможная программа на языке C# будет состоять из класса, содержащего статический метод Main().

    using System;

    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine("It's just a start..");
    }
    }
    }

    При этом namespace и параметр args так же являются необязательными.

    @csharp_1001_notes
  • C# 1001 notes

    #basics

    №1. Метод Main() и его сигнатура

    Стандартной точкой входа для приложений, разработанных на языке C# является статический метод с именем Main.

    В большинстве случаев его объявление выглядит следующим образом:

    static void Main(string[] args)

    Начиная с C# 7.1 появилась возможность объявлять его в асинхронном виде:

    static Task<int> Main(string[] args)

    @csharp_1001_notes
  • C# 1001 notes

    Приветствую тебя, дорогой подписчик 🙏

    Если ты это читаешь, то значит как и я любишь программирование.

    Меня зовут Максим и уже больше 10 лет я пишу на языке C# для .NET.

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

    Будем двигаться от простого к сложному, узнавать новое и расти вместе.

    Подписывайся, чтобы не потерять и рекомендуй своим 👍