Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class InOut
- {
- static void Main()
- {
- //Освен \n съществува и \r, което добавя нов ред и отива в началото му
- //Placehold-ерите могат да бъдат използвани за редактиране на текст.
- // {index [, alignment][:formatString] } - нещата в квадратните скоби могат да присъстват или да не присъстват.
- // index е номера на placehold-ера. {0} използвахме го само в този му вид до сега.
- // alignment е подравняване на текста. Замества се с цифра. Големината на цифрата означава колко място ще заделим за
- // текста който ще бъде заместен. Положителна цифра означава подравняване в дясно, отрицателна - подравняване в ляво.
- // Полезно е за създаване на таблици.
- Console.WriteLine("{0,-10} | {1,10}", "Product", "Prise");
- Console.WriteLine();
- Console.WriteLine("{0,-10} | {1,10}", "Coca-Cola", 1.19);
- Console.WriteLine("{0,-10} | {1,10}", "Fanta", 1.25);
- //formatString - отговаря за форматирането на текста който ще бъде заместен.
- //Полезни аргументи за форматиране на текста в Placehold-ер. Взимаме за пример числото 3.6543210
- double placeholder = 3.6543210;
- Console.WriteLine();
- Console.WriteLine("Taking the number 3.6543210 for the placeholder");
- //{0:0} взима цялото число и закръгля нагоре.
- Console.WriteLine("Placeholder {{0:0}}, result: {0:0}", placeholder);
- //{0:00} добавяне на допълнително число от ляво ако числото е по-малко от двуцифрено в случая. Колкото и каквито
- //цифри добавим във мястото след двуеточието в Placeholder-а толкова и такива цифри ще бъдат добавени
- Console.WriteLine("Placeholder {{0:00}}, result: {0:00}", placeholder);
- Console.WriteLine("Placeholder {{0:300}}, result: {0:300}", placeholder);
- //{0:0.0} взима цялото число и една цифра след десетичната запетая закгръглено нагоре,
- //{0:0.00} взима две цифри след десетичната запетая и така нататък.
- Console.WriteLine("Placeholder {{0:0.0}}, result: {0:0.0}", placeholder);
- Console.WriteLine("Placeholder {{0:0.000}}, result: {0:0.000}", placeholder);
- //{0:My number is 0.0} вмъква текст преди числото.
- Console.WriteLine("Placeholder {{0:My number is 0.0}}, result: {0:My number is 0.0}", placeholder);
- //{0:P} представя числото в проценти.
- Console.WriteLine("Placeholder {{0:P}}, result: {0:P}", placeholder);
- //{0:E} представя числото в експоненциал.
- Console.WriteLine("Placeholder {{0:E}}, result: {0:E}", placeholder);
- //{0:C} представя числото като валута спрямо регионалните настройки.
- Console.WriteLine("Placeholder {{0:C}}, result: {0:C}", placeholder);
- //{0:X} представя числото в шеснадесетична бройна система.
- int PH = 250;
- Console.WriteLine("The number for the place holder changed to int = 250");
- Console.WriteLine("Placeholder {{0:X}}, result: {0:X}",PH);
- Console.WriteLine();
- //Всички тези аргументи за форматиране могат да бъдат комбинирани стига да не се застъпват един с друг.
- //Console.Read() чете един char, Console.ReadLine() чете един ред с други думи един цял string.
- //В крайна сметка се оказа, че няма друг начин за взимане на цифрови стойности от клавиатурата освен Parse-ване.
- //Parse се използва за конвертиране от стринг към другите типове. Почти всички типове имат член функция Parse.
- //Console.ReadKey() чете комбинация от натиснати клавиши от клавиатурата.
- //За използването ще ни трябва и класа ConsoleKeyInfo.
- ConsoleKeyInfo key = Console.ReadKey();
- Console.WriteLine();
- Console.WriteLine("Character entered: " +key.KeyChar);
- Console.WriteLine("Special keys: "+key.Modifiers);
- Console.WriteLine("Key absolute value: "+key.Key);
- Console.WriteLine();
- //Конвертиране на string към числа може да бъде извършено освен с Parse и със
- //Convert класа. За float: Convert.ToSingle(string), за int има 2 различни conversion-а.
- //Към int32 и int64. Convert.ToInt64(string), Convert.ToInt32(string [,base]).
- //Като към 32 битовото конвертиране base е опция за трансформиране на числото към друга бройна
- // система както видяхме и предишния урок.
- //За справяне се error-и беше споменат try-catch блока, но не беше обяснен подробно.
- //За справяне конкретно с некоректни данни с Parse беше представено TryParse.
- //Синтаксиса е int(или друг тип).TryParse(string, out number). TryParse се опитва да
- //parse-не подаденият му string в подадения му number. Ако успее го прави и връща true, ако не успее
- //връща false и не parse-ва нищо. Както при Parse, TryParse го има за почти всички типове.
- string str = Console.ReadLine();
- int n;
- if (int.TryParse(str, out n))
- Console.WriteLine("Valid number: {0}", n);
- else
- Console.WriteLine("Invalid number: {0}",str);
- Console.WriteLine();
- //Оказва се, че изкарването на специални знаци на конзолата изисква малко повече работа.
- //using Syste.Text; Console.OutputEncoding=Encoding.UTF8; Се изискват за изкарването на специални знаци
- //Също така конзолата не работи коректно с цялата Unicode таблица.
- //Различните езици имат различни значи за десетичен разделител. При нас е десетична запетая, но при
- //много култури е точка. За да използваме настоящите регионални настройки за валута и десетичен разделител
- //трябва да добавим Thread.CurrentThread.CurrentCulture=CultureInfo.InvariantCulture;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement