C#: Вызов метода — выражение
В программировании, выражение – нечто возвращающее результат, который можно использовать. Мы уже знаем достаточно много о выражениях и о принципах их построения. Математические операции (сложение, вычитание), строковые операции (конкатенация) – все это выражения:
1 + 5 * 3;
"Hex" + "Let";
// Переменные могут быть частью выражения
rate * 5;
Особенность выражений в том, что они возвращают результат, который можно, например, присвоить переменной или вывести на экран. Например:
// Тут выражение это 1 + 5
var sum = 1 + 5;
Console.WriteLine(sum);
Но не все в программировании является выражением. Определение переменной это инструкция, она не может быть частью выражения. То есть такой код выдаст ошибку:
// Бессмысленный код, который не сработает
10 + var sum = 1 + 5;
Почему об этом важно знать? Как вы увидите дальше, выражения можно комбинировать получая все более сложное поведение в самых неожиданных местах и самым неожиданным образом. Вы будете лучше понимать как можно соединять части кода, чтобы получить нужный результат.
Поговорим о методах. Вызов метода это выражение или нет? Мы знаем что методы возвращают результат, то есть да, они выражения. Из этого автоматически следует много интересного. Например мы можем использовать вызов метода прямо в математических операциях. Вот как можно получить индекс последнего символа в слове:
var name = "Stark";
// Получение свойства и вычитание вместе!
var lastIndex = name.Length - 1;
Console.WriteLine(lastIndex); // 4
В этом коде нет нового синтаксиса. Мы всего лишь соединили уже известные части опираясь на их природу. Можно пойти еще дальше:
var name = "Stark";
Console.WriteLine(name.Length - 1); // 4
Все это справедливо для любых методов, например строковых:
var name = "Stark";
// ToUpper() – переводит слово в верхний регистр
Console.WriteLine("House " + name.ToUpper()); // "House STARK"
Задание
Выведите на экран первую и последнюю буквы предложения, записанного в переменную text, в следующем формате:
First: N Last: t
Ваша задача извлечь эти символы из строки и вставить в Console.WriteLine(), не используя промежуточные переменные.
Полезное
Для получения длины строки используйте свойство
Length
