25.07.2017 Views

Intro-CSharp-Book-v2015

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Глава 13. Символни низове 497<br />

подадем параметър със съдържание "false" (отново без значение от<br />

регистъра на буквите) върнатата стойност ще е false.<br />

В случай, че подадената на Parse(…) метода стойност е невалидна за типа<br />

(например подаваме "Пешо" при преобразуване към число или подаваме<br />

число при преобразуване към булев тип), се получава изключение.<br />

Преобразуване към дата<br />

Парсването към дата става по подобен начин, като парсването към числов<br />

тип, но е препоръчително да се зададе конкретен формат за датата. Ето<br />

един пример как може да стане това:<br />

string text = "11.09.2001";<br />

DateTime parsedDate = DateTime.Parse(text);<br />

Console.WriteLine(parsedDate);<br />

// 11-Sep-01 0:00:00 AM<br />

Дали датата ще бъде успешно парсната и в какъв точно формат ще бъде<br />

отпечатана на конзолата зависи силно от текущата култура на Windows. В<br />

примера е използван модифициран вариант на американската култура (en-<br />

US). Ако искаме да зададем изрично формат, който не зависи от културата,<br />

можем да ползваме метода DateTime.ParseExact(…):<br />

string text = "11.09.2001";<br />

string format = "dd.MM.yyyy";<br />

DateTime parsedDate = DateTime.ParseExact(<br />

text, format, CultureInfo.InvariantCulture);<br />

Console.WriteLine("Day: {0}\nMonth: {1}\nYear: {2}",<br />

parsedDate.Day, parsedDate.Month, parsedDate.Year);<br />

// Day: 11<br />

// Month: 9<br />

// Year: 2001<br />

При парсването по изрично зададен формат се изисква да се подаде<br />

конкретна култура, от която да се вземе информация за формата на датите<br />

и разделителите между дни и години. Тъй като искаме парсването да не<br />

зависи от конкретна култура, използваме неутралната култура:<br />

CultureInfo.InvariantCulture. За да използваме класа CultureInfo, трябва<br />

първо да включим пространството от имена System.Globalization.<br />

Упражнения<br />

1. Разкажете за низовете в C#. Какво е типично за типа string? Обяснете<br />

кои са най-важните методи на класа String.<br />

2. Напишете програма, която прочита символен низ, обръща го отзад<br />

напред и го принтира на конзолата. Например: "introduction" <br />

"noitcudortni".

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!