Изучаем 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()}"); } }
}