- •Модуль 1. Мова програмування с# і платформа ms.Net Framework Лекція 6. Стандартні класи с#. Робота з рядками
- •6.1. Тип char. Масиви типу char
- •Масиви типу char
- •6.2. Робота з рядками. Клас String і його методи
- •Форматування рядків
- •6.3. Перевірка рядка на пустоту
- •6.4. Клас StringBuilder і його методи
- •6.4. Обробка помилок. Клас Exception.
- •6.4.1. Виклик і обробка виключень
- •6.4.2. Синтаксис оператора try:
- •6.5. Комплексний приклад. Вдосконалений консольний калькулятор
- •Питання і завдання для самостійної роботи студента
- •18. Лабораторна робота № 5.
Модуль 1. Мова програмування с# і платформа ms.Net Framework Лекція 6. Стандартні класи с#. Робота з рядками
План
6.1. Тип char. Масиви типу char
6.2. Робота з рядками. Клас String і його методи
6.3. Перевірка рядка на пустоту
6.4. Клас StringBuilder і його методи
6.5. Обробка помилок. Клас Exception
6.6. Комплексний приклад. Вдосконалений консольний калькулятор
Для обробки текстової інформації в C# є широкий набір засобів: окремі символи, масиви символів, змінні і незмінні рядки і регулярні вирази.
6.1. Тип char. Масиви типу char
Символьний тип даних char представляє один символ. Він призначений для зберігання символів у кодуванні Unicode. Символьний тип відноситься до вбудованих типів даних C# і відповідає стандартному класу System.Char бібліотеки .NET. У цьому класі визначені статичні методи, що дозволяють задати вигляд і категорію символу, а також перетворити символ у верхній або нижній регістр і в число. Деякі корисні методи наведено в таблиці 6.1.
Таблиця 6.1. Деякі методи класу System.Char |
|
Метод |
Опис |
GetNumericValue |
Повертає числове значення символу, якщо він є цифрою, і –1 інакше |
IsControl |
Повертає true, якщо символ є управляючим |
IsDigit |
Повертає true, якщо символ є десятковою цифрою |
IsNumber |
Повертає true, якщо символ є цифрою |
IsLetter |
Повертає true, якщо символ є буквою |
IsLower |
Повертає true, якщо символ заданий в нижньому регістрі |
IsUpper |
Повертає true, якщо символ записаний у верхньому регістрі |
IsWhiteSpace
|
Повертає true, якщо символ є пробілом (пропуск, перехід до нового рядка і повернення каретки) |
Parse |
Перетворює рядок у символ (рядок повинен складатися з одного символу) |
ToLower |
Перетворює символ в нижній регістр |
Приклад 6.1. Використання методів класу System.Char
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
try
{
char b = 'B', c = '\x63', d = '\u0032'; // 1
Console.WriteLine( "{0} {1} {2}", b, c, d );
Console.WriteLine( "{0} {1} {2}",
char.ToLower(b), char.ToUpper(c), char.GetNumericValue(d) );
char a;
do // 2
{
Console.Write( "Введіть символ: " );
a = char.Parse( Console.ReadLine() );
Console.WriteLine( "Введено символ {0}, його код – {1}",
a, (int)a );
if (char.IsLetter(a)) Console.WriteLine("Літера");
if (char.IsUpper(a)) Console.WriteLine("Верхній рег.");
if (char.IsLower(a)) Console.WriteLine("Нижній рег.");
if (char.IsControl(a)) Console.WriteLine("Управляючий");
if (char.IsNumber(a)) Console.WriteLine("Число");
if (char.IsPunctuation(a)) Console.WriteLine("Роздільник");
} while (a != 'q');
}
catch
{
Console.WriteLine( "Виникло виключення" );
return;
}
Console.ReadKey();
}
}
}
Приклад 6.2. Вдосконалення консольного калькулятора. Метод IsNumeric перевіряє чи правильно введене число. У рядку NumericText знаходиться число, введене з консолі.
static bool IsNumeric(string NumericText)
{
//перевірка чи у рядку число
bool isnumber = true;
foreach (char c in NumericText)
{
isnumber = char.IsNumber(c);
if (!isnumber)
{
if (c != ',')
return isnumber;
}
}
return isnumber;
}
