Кортежи в C#

Кортежи предоставляют удобный способ для работы с набором значений, который был добавлен в версии C# 7.0. Кортеж представляет набор значений, заключенных в круглые скобки:

var tuple = (5, 10);

В отличие от массивов (которые содержат объекты одного типа), кортежи могут содержат объекты самых разных типов. В .NET 4 определены восемь обобщённых классов Tuple и один статический класс Tuple, который служит “фабрикой” кортежей.

Существуют разные обобщённые классы Tuple для поддержки различного количества элементов, например, Tuple<T1> содержит один элемент, Tuple<T1, T2> – два элемента и т.д.

Элементы кортежа доступны через свойства Item1, Item2. Если имеется более восьми элементов, которые нужно включить в кортеж, можно использовать определение класса Tuple с восемью параметрами.

Последний параметр называется TRest, в котором должен передаваться сам кортеж. Поэтому есть возможность создать кортежи с любым количеством параметров. Рассмотрим пример использования кортежей:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        // Данный метод возвращает кортеж с 4-мя
        // разными значениями
        static Tuple Corteg(int a, string name)
        {
            int sqr = a * a;
            float sqrt = (float)(Math.Sqrt(a));
            string s = "Привет, " + name;
            char ch = (char)(name[0]);

            return Tuple.Create(sqr, sqrt, s, ch);
        }

        static void Main(string[] args)
        {
            var myTuple = Corteg(35, "Viktor");
            Console.WriteLine("{0}\n35 в квадрате: {1}\nКвадратный корень из 35: "
                + "{2}\nПервый символ в имени: {3}\n", myTuple.Item3, myTuple.Item1, myTuple.Item2, myTuple.Item4);
            Console.ReadLine();
        }

    }
    
}

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Entity Framework

Entity Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами

 
Работа с базой данных в C#

Работа с базой данных в C#

В данной статье мы подробно поговорим о разработке небольшого приложения с помощью Visual Studio базы данных и языка C#. Советуем поэтапно выполнять все инструкции из

 
Создание сканера портов

Создание сканера портов

В прошлой статье “Сокеты в C#” мы познакомились с сокетами и подробно рассмотрели классы для работы с ними. В этой статье мы разработаем простое приложение

 
Сокеты в С#

Сокеты в С#

Сокет – это один конец двухстороннего канала связи между двумя программами, работающими в сети. Используя два сокета, можно передавать данные между разными процессами (локальными или

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: