Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Страница 76
В приведенном примере присутствует много непонятного, начиная с лямбда-операции (
=>
_
Перед тем, как завершить обсуждение темы выражений
switch
string
int
(string, int)
В показанном ниже примере два значения, передаваемые методу
RockPapeScissors()
switch
switch
//Switch expression with Tuples
static string RockPaperScissors(string first, string second)
{
return (first, second) switch
{
("rock", "paper") => "Paper wins.",
("rock", "scissors") => "Rock wins.",
("paper", "rock") => "Paper wins.",
("paper", "scissors") => "Scissors wins.",
("scissors", "rock") => "Rock wins.",
("scissors", "paper") => "Scissors wins.",
(_, _) => "Tie.",
};
}
Чтобы вызвать метод
RockPaperScissors()
Main()
Console.WriteLine(RockPaperScissors("paper","rock"));
Console.WriteLine(RockPaperScissors("scissors","rock"));
Мы еще вернемся к этому примеру в главе 4, где будут представлены кортежи.
Резюме
Цель настоящей главы заключалась в демонстрации многочисленных ключевых аспектов языка программирования С#. Мы исследовали привычные конструкции, которые могут быть задействованы при построении любого приложения. После ознакомления с ролью объекта приложения вы узнали о том, что каждая исполняемая программа на C# должна иметь тип, определяющий метод
Main()
Затем были подробно описаны встроенные типы данных C# и разъяснено, что применяемые для их представления ключевые слова (например,
int
System
System.Int32
checked
unchecked
В завершение главы рассматривалась роль неявной типизации с использованием ключевого слова
var
Теперь, когда вы понимаете некоторые базовые механизмы, в главе 4 завершится исследование основных средств языка. После этого вы будете хорошо подготовлены к изучению объектно-ориентированных возможностей С#, которое начнется в главе 5.
Глава 4
Главные конструкции программирования на С#: часть 2
В настоящей главе завершается обзор основных аспектов языка программирования С#, который был начат в главе 3. Первым делом мы рассмотрим детали манипулирования массивами с использованием синтаксиса C# и продемонстрируем функциональность, содержащуюся внутри связанного класса
System.Array
Далее мы выясним различные подробности, касающиеся построения методов, за счет исследования ключевых слов
out
ref
params
Затем будет показано, как создавать типы перечислений и структур, включая детальное исследование отличий между типами значений и ссылочными типами. В конце главы объясняется роль типов данных, допускающих
null
После освоения материала главы вы можете смело переходить к изучению объектно-ориентированных возможностей языка С#, рассмотрение которых начнется в главе 5.
Понятие массивов C#
Как вам уже наверняка известно, массив — это набор элементов данных, для доступа к которым применяется числовой индекс. Выражаясь более конкретно, массив представляет собой набор расположенных рядом элементов данных одного и того же типа (массив элементов
int
string
SportsCar
FunWithArrays
SimpleArrays()
Console.WriteLine("***** Fun with Arrays *****");
SimpleArrays();
Console.ReadLine();
static void SimpleArrays()
{
Console.WriteLine("=> Simple Array Creation.");
// Создать и заполнить массив из 3 целых чисел.