C# (произносится как "си шарп") — современный объектно-ориентированный язык программирования, разработанный Microsoft как часть платформы .NET. За более чем два десятилетия существования он превратился из простого Java-подобного языка в мощную мультипарадигменную платформу. В этой статье мы подробно рассмотрим эволюцию C#, его ключевые вехи и современные возможности.
В конце 1990-х Microsoft столкнулась с несколькими вызовами:
Проект начался под руководством Андерса Хейлсберга (создателя Turbo Pascal и Delphi).
Официальный релиз состоялся в феврале 2002 года вместе с .NET Framework 1.0. Основные особенности:
// Пример кода C# 1.0
using System;
class HelloWorld
{
static void Main()
{
Console.WriteLine("Hello, .NET!");
}
}
// Generics в C# 2.0
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");
// LINQ пример
var results = from p in products
where p.Price > 100
select p.Name;
// async/await пример
async Task DownloadDataAsync()
{
HttpClient client = new HttpClient();
string result = await client.GetStringAsync("https://example.com");
Console.WriteLine(result);
}
// Нововведения C# 6
public string Name => $"{FirstName} {LastName}";
var length = customer?.Orders?.Count ?? 0;
// Pattern matching example
if (shape is Circle c)
{
Console.WriteLine($"Circle with radius {c.Radius}");
}
string? nullableString = null; // Может быть null
string nonNullableString = ""; // Не может быть null
// Record пример
public record Person(string FirstName, string LastName);
var person = new Person("John", "Doe");
// File-scoped namespace
namespace MyApp;
class Program
{
static void Main() => Console.WriteLine("Hello World!");
}
// Raw string literal
string json = """
{
"name": "John",
"age": 30
}
""";
C# прошел впечатляющий путь от Windows-ориентированного языка до универсальной кросс-платформенной экосистемы. Его ключевые преимущества:
Для начинающих разработчиков C# предлагает:
"C# — это язык, который растет вместе с разработчиком: от простых консольных программ до сложных распределенных систем." — Опытный .NET-разработчик
С постоянным развитием .NET и внедрением современных парадигм программирования, будущее C# выглядит крайне перспективным.