Важные темы C#

Методы расширения (extension method) в C#

В этом уроке вы добавите новый метод к существующему типу string, не изменяя сам тип.

Введение

Методы расширения (extension method) позволяют «добавлять» методы к существующим типам, даже к типам .NET вроде string. На самом деле это static-метод, но вызывается он так же, как метод объекта, что делает код понятнее и удобнее.

Ключевое слово this перед первым параметром Truncate означает, что это метод расширения для типа string. Поэтому можно вызвать "CodeUtility".Truncate(4), как будто Truncate - родной метод строк. Он обрезает строку до 4 символов и добавляет многоточие, получается Code…. Исходный тип string при этом никак не меняется.

Пример на C#, который можно запустить

C#
Запустить код →
Program.cs
using System;

static class StringExtensions
{
    public static string Truncate(this string value, int length)
        => value.Length <= length ? value : value[..length] + "…";
}

class Program
{
    static void Main() => Console.WriteLine("CodeUtility".Truncate(4));
}
Результат выполнения
Code…

Практика с отладчиком

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

Попрактикуйтесь на задаче

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

Все задачи