C# 1001 notes
6.5K subscribers
331 photos
9 videos
2 files
314 links
Регулярные короткие заметки по C# и .NET.

Просто о сложном для каждого.

admin - @haarrp
加入频道
#basics

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

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

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

static void Main(string[] args)

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

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

@csharp_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
#basics

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

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

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

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

@csharp_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