4. Преобразование типов

Преобразование типов

Рассмоторим ситуацию, когда нам нужно преобразовать один тип данных в другой. К примеру, мы получили строку, в которой записано число и нам нужно умножить данное число на 2.

Пример:

using System;

public class Program
{
    static void Main(string[] args)
    {
        string input = "1234";
        int a = input * 2; // error CS0029
    }
}

Из-за того, что язык программирования C# является строго типизированным, сделать это на прямую не получиться, сперва нам нужно преобразовать один тип данных в другой. Именно этой теме будет посвящена данная глава.

Тема преобразований типов данных довольно большая, так что в этой главе мы разберем решения проблем, которые встречаются чаще всего, а точнее преобразование строк и чисел. В будущих частях книги мы разберем данную тему подробнее.

Преобразование числа в строку

Рассмотрим ситуацию, когда у нас есть некоторая переменная int a, значение которой мы получили извне, не важно откуда предположим, что теперь a = 3. И у нас появилась задача, как сделать так, чтобы некоторая строка string output, равнялась значению из переменной a.
Как это будет выглядеть в коде:

using System;

public class Program
{
    static void Main(string[] args)
    {
        int a = 3;
        string output = a; // error CS0029
    }
}

Такая ошибка вызвана из-за того, что C# является строго типизированным языком.

Для того, что решить данную задачу, нам потребуется преобразовать тип данных int в тип данных string, делать мы это будет при помощи метода ToString(), который присущ всем типам данным.

Пример:

using System;

public class Program
{
    static void Main(string[] args)
    {
        string output = "";

        int a = 3;
        output = a.ToString();

        float b = 3.5f;
        output = b.ToString();

        char c = 'a';
        output = c.ToString();
    }
}

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

Преобразование строки в число

Рассмотрим другую ситуацию, когда у нас есть некоторая строка string input, в которую мы положили значение, опять же не важно откуда, предположим напрямую string input = "256". Мы на 100% уверены, что в этой строке содержатся только цифры. Перед нами стоит задача возвести данное число в квадрат (умножить число само на себя 2 раза). Без преобразования у нас будет похожая ошибка, что и в примере выше.

Пример:

using System;

public class Program
{
    static void Main(string[] args)
    {
        string input = "256";
        int a = input * input; // error CS0029
    }
}

Чтобы преобразовать число в строку нам потребуется вызвать метод int.Parse() и в скобках указать значения типа string.

Пример:

using System;

public class Program
{
    static void Main(string[] args)
    {
        string input = "256";
        int a = int.Parse(input) * int.Parse(input);
    }
}

int.Parse() - метод, который принимает на вход строку и преобразует ее в тип данных int.

Так же мы можем использовать: float.Parse(). Метод так же должен получить строку, только после выполнения вернет уже тип данных float.

Пример:

using System;

public class Program
{
    static void Main(string[] args)
    {
        string input = "256,4";
        float a = float.Parse(input) * float.Parse(input);
    }
}

Заключение

Таким образом, теперь мы поняли как преобразовывать тип данных int в string и наоборот.

В следующей главе мы рассмотрим тему логические выражения.

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

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