C# урок 8 — тип всевластья — var

Изучаем C# с нуля. 8-ой урок цикла. Разбираем ключевое слово Var, когда следует использовать, а когда стоит воздержаться. Касаемся темы общеязыковых типов CTS платформы .NET. Знакомимся с префиксами и суффиксами примитивных типов данных.

Исходники внутри.

using System;

namespace Lesson8
{
    class Program
    {
        static void Main(string[] args)
        {
        //один тип, чтобы править ими всеми
        //типы CLR
        //общий предок всех типов и GetType()

        //суфиксы примитивных типов

        SimpleTypes();
        VarTypes();
        VarTypesWithLetters();

        //префиксы двоичных и шестнадцатеричных чисел
        BinAndHex();

    }

    static void SimpleTypes()
    {
        byte b = 255;
        sbyte sb = 127;

        int i = -121212;
        uint ui = 3123123;

        long l = -12222222222222222;
        ulong ul = 12312321123123123;

        float f = 10.5f;
        double d = 10.5;

        decimal money = 999.99M;

        string s = "строка";
        char c = 'а';

        int[] ar = new int[1];

        byte columnIndex = 1;
        WriteWithColumn("b",b, columnIndex);
        WriteWithColumn("sb",sb, columnIndex);
        WriteWithColumn("i", i, columnIndex);
        WriteWithColumn("ui", ui, columnIndex);
        WriteWithColumn("l",l, columnIndex);
        WriteWithColumn("ul", ul, columnIndex);
        WriteWithColumn("f", f, columnIndex);
        WriteWithColumn("d", d, columnIndex);
        WriteWithColumn("money", money, columnIndex);
        WriteWithColumn("s", s, columnIndex);
        WriteWithColumn("c", c, columnIndex);
        WriteWithColumn("ar", ar, columnIndex);

    }

    static void VarTypes()
    {
        var b = 255;
        var sb = 127;

        var i = -121212;
        var ui = 3123123;

        var l = -12222222222222222;
        var ul = 12312321123123123;

        var f = 10.5F;
        var d = 10.5;

        var money = 999.99M;

        var s = "строка";
        var c = 'а';

        var ar = new int[1];

        byte columnIndex = 2;
        Console.CursorTop = 0;
        WriteWithColumn("b", b, columnIndex);
        WriteWithColumn("sb", sb, columnIndex);
        WriteWithColumn("i", i, columnIndex);
        WriteWithColumn("ui", ui, columnIndex);
        WriteWithColumn("l", l, columnIndex);
        WriteWithColumn("ul", ul, columnIndex);
        WriteWithColumn("f", f, columnIndex);
        WriteWithColumn("d", d, columnIndex);
        WriteWithColumn("money", money, columnIndex);
        WriteWithColumn("s", s, columnIndex);
        WriteWithColumn("c", c, columnIndex);
        WriteWithColumn("ar", ar, columnIndex);

    }

    static void VarTypesWithLetters()
    {
        var b = 255;
        var sb = 127;

        var i = -121212;
        var ui = 3123123123U;

        var l = -12222222222222222L;
        var ul = 12312321123123123UL;

        var f = 10.5F;
        var d = 10.5D;

        var money = 999.99M;

        var s = "строка";
        var c = 'а';

        var ar = new int[1];

        byte columnIndex = 3;
        Console.CursorTop = 0;
        WriteWithColumn("b", b, columnIndex);
        WriteWithColumn("sb", sb, columnIndex);
        WriteWithColumn("i", i, columnIndex);
        WriteWithColumn("ui", ui, columnIndex);
        WriteWithColumn("l", l, columnIndex);
        WriteWithColumn("ul", ul, columnIndex);
        WriteWithColumn("f", f, columnIndex);
        WriteWithColumn("d", d, columnIndex);
        WriteWithColumn("money", money, columnIndex);
        WriteWithColumn("s", s, columnIndex);
        WriteWithColumn("c", c, columnIndex);
        WriteWithColumn("ar", ar, columnIndex);
    }

    static void BinAndHex()
    {
        var bin = 0b11111111111111111111111111111111111111;
        var hex = 0xFFFFFFFFFF;

        Console.WriteLine(bin);
        Console.WriteLine(hex);
    }

    static void WriteWithColumn(string objName, object obj, byte columnIndex)
    {
        Console.CursorLeft = (columnIndex - 1) * 30;
        Console.WriteLine($"{objName}: {obj.GetType()}");
    }

}

}

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

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