Как узнать тип переменной в C#?

Пользователь

от otha_marks , в категории: Другие , 2 года назад

Как узнать тип переменной в C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

Чтобы узнать тип переменной в C#, мы должны воспользоваться методом Object.GetType()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;

namespace Type
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 5;
            double y = 5.15;
            string country = "Russia";
            char symbol = 'R';

            Console.WriteLine($"{x} Type is {x.GetType()}");
            Console.WriteLine($"{y} Type is {y.GetType()}");
            Console.WriteLine($"{country} Type is {country.GetType()}");
            Console.WriteLine($"{symbol} Type is {symbol.GetType()}");

            // Вывод : 
            // 5 Type is System.Int32
            // 5.15 Type is System.Double
            // Russia Type is System.String
            // R Type is System.Char
        }
    } 
}


Пользователь

от hoyt.jerde , год назад

@otha_marks 

В C# тип переменной определяется во время компиляции на основе ее объявления. Если переменная была объявлена с явным указанием типа, то ее тип определен явно. Например:

1
int age = 25;


В этом примере переменная age имеет тип int.


Если тип переменной не был указан явно, то компилятор попытается определить его автоматически на основе значения, которое ей присваивается. Это называется "вывод типа" (type inference). Например:

1
var name = "John";


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


Чтобы узнать тип переменной в C#, можно использовать оператор typeof или метод GetType(). Например:

1
2
3
int age = 25;
Console.WriteLine(typeof(int)); // выводит "System.Int32"
Console.WriteLine(age.GetType()); // выводит "System.Int32"


Оба эти метода возвращают объект Type, который содержит информацию о типе переменной.