14-маъруза
Белгили ва сатрли катталиклар билан ишлаш
Режа:
Белгили катталиклар билан ишлаш
Сатрли катталик(матн)лар билан ишлаш.
System.String базавий синфи
14.1. Белгили катталиклар билан ишлаш
Матнли маълумотларни қайта ишлаш замонавий дастурлашда энг кенг тарқалган масалалардан бири ҳисобланиб, C# да бундай масалаларни ҳал этиш учун кенг қамровли воситаларни тақдим этади: алоҳида белгилар, белгили массивлар, ўзгарувчи ва ўзгармас қаторлар ҳамда регуляр ифодалар.
Белгили маълумотларнинг типлари C# да char типи орқали эълон қилинади. char типи Unicode кодировкасидаги белгиларни сақлаш учун хизмат қилади. Белгили маълумотларни қайта ишлаш учун System номлар маконида жойлашган Char синфи элементларидан фойдаланилади. Ушбу синфда бир қатор белгили катталиклар билан ишлаш учун мўлжалланган услублар мавжуд бўлиб улардан дастурлашда кўп қўлланиладиганлари 10.1.1 – жадвалда келтирилган.
14.1.1-жадвал. System.Char синфининг айрим услублари
|
Услуб
|
Тавсифи
|
GetNumericValue
|
Агар белги сон бўлса уни сонли қийматини қайтаради, аксинча бўлса -1 қиймат қайтаради.
|
IsControl
|
Агар белги бошқарув белгиси бўлса true қиймат, акс ҳолда false қиймат қайтаради.
|
IsDigit
|
Агар белги 10 лик саноқ системасидаги рақам бўлса true қиймат қайтаради, акс ҳолда false қиймат қайтаради.
|
IsLetter
|
Агар белги ҳарф бўлса true қиймат қайтаради, акс ҳолда false қиймат қайтаради.
|
IsLower
|
Агар белги остки регистрдаги(кичик) ҳарф бўлса true қиймат қайтаради, акс ҳолда false қиймат қайтаради.
|
IsUpper
|
Агар белги устки регистрдаги(катта) ҳарф бўлса true қиймат қайтаради, акс ҳолда false қиймат қайтаради.
|
IsWhiteSpace
|
Агар белги пробел, янги сатрга ўтиш ёки кареткани қайтарувчи белги бўлса true қиймат қайтаради, акс ҳолда false қиймат қайтаради.
|
Parse
|
Матнли қаторни агар у 1 та белгидан иборат бўлса белгига ўзгартириш
|
ToLower
|
Белгини остки регистр(кичик ҳарф)га ўтказиш
|
ToUpper
|
Белгини устки регистр(катта ҳарф)га ўтказиш
|
MaxValue, MinValue
|
Кўринмас холда ифодаланувчи белгиларни максимал ва минимал кодларини қайтаради
|
14.1.1-листингда ушбу услублардан фойдаланишга мисол тариқасидаги дастур келтирилган.
using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
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;
}
}
}
}
Do'stlaringiz bilan baham: |