Adattípusok (4)

Összetett adattípusok: karakterlánc (string) adattípus felépítése, ábrázolása, helyfoglalása, felhasználása.


Sztring: Karakterlánc, másképpen szöveg.

A sztring kezelésének lényege, hogy a szöveg karaktereit sorban, sorszám szerint elérhetően tároljuk.

Például:
string strSzoveg = "Kelkáposzta";//tároljuk a "Kelkáposzta" szót
Az egyes karakterek számozása 0-val kezdődik, tehát a "K" a 0., az "e" az 1., ....
Így, a
Console.Writeline(strSzoveg[2])
Kifejezés az "l" betűt adja.

A sztringek kezelésére sok függvény áll rendelkezésre, lekédezhetjük a hosszát, karakter, szövegrészletet kereshetünk benne, cserélhetünk sztring részleteket, stb. A mellékelt példákban a legfontosabb függvények előfordulnak.

Otthoni feladatok:

  1. Kérj be tetszőleges szöveget, majd írasd ki a hosszát.
  2. Kérj be tetszőleges szöveget, majd mindek karakterét cseréld nagybetűsre.
  3. Kérj be tetszőleges szöveget, majd írasd ki visszafelé.

példák:

1.,
static void Main(string[] args)
{
string strSzoveg = "Kelkáposzta";
string strSzoveg2;
Console.WriteLine("Karaktercsere, k--X");
Console.WriteLine(strSzoveg);
strSzoveg2=strSzoveg. Replace("k", "X");
Console.Write(strSzoveg2);
Console.WriteLine("\n****************");
Console.WriteLine("Karakter törlés adott helyről, 3-tól 2 db karakter");
Console.WriteLine(strSzoveg);
strSzoveg2 = strSzoveg.Remove(3, 2);
Console.Write(strSzoveg2);
Console.WriteLine("\n****************");
Console.ReadKey();
}

2.,

static void Main(string[] args)
{
string strSzoveg = "123456789";
string strSzoveg2 = "12344456789";
Console.WriteLine(strSzoveg);
for (int i = 1; i < strSzoveg .Length ;i++ )//string mint vektor
Console.Write(strSzoveg[i]);
Console.WriteLine();
int iEredmeny = strSzoveg.CompareTo(strSzoveg2);//Összehasonlítás
Console.WriteLine(iEredmeny);
Console.Write("Adj meg egy rövid szöveget, amit beszúrok egy stringbe!: ");
string strBeszur = Console.ReadLine();
strSzoveg =strSzoveg .Insert (1,strBeszur );//beszúrás
Console.WriteLine(strSzoveg);
Console.WriteLine("Most szöveget keresünk szövegben!");
string strSzovega = "Boci Boci Tarka, Se Füle se Farka, oda megyünk lakni, ahol tejet kapni!";
string strSzovegb;
Console.Write("Kérem a keresendő szövegrészletet!");//keresés szövegben
strSzovegb= (Console .ReadLine ());
strSzovega = strSzovega.ToUpper();
Console.Write(strSzovega);
strSzovegb = strSzovegb.ToUpper();
if (strSzovega .IndexOf (strSzovegb )>-1)
Console .WriteLine ("Ez benne van!!!!");
else
Console .WriteLine ("Nincs ilyen részlete a szövegnek");
Console.WriteLine("Trimmeljük a szöveget, elejéről és a végéről is levágunk szövegrészletet!");
char chrElso = Convert.ToChar(strSzovega[0]);
Console .WriteLine (strSzovega .TrimStart (chrElso ));

Console.Write("Karakter keresése!");
char[] keres = new[] {'B'};
int iDarab = strSzovega.IndexOfAny(keres);
Console.WriteLine(iDarab);
Console.ReadKey();
}

3.,

static void Main(string[] args)
{
/*Kérj be 2 sztringet, állapítsd meg,
* hogy része-e a második az elsőnek,
* s ha igen, hanyadik pozíción kezdődik benne!
*/
Console.WriteLine("Kérem az első stringet!");
string strSzoveg1=Console .ReadLine ();
string strSzöveg1Upper = strSzoveg1.ToUpper();
strSzöveg1Upper = strSzöveg1Upper.Replace(" ", "");
Console.WriteLine("Kérem a második stringet!");
string strSzoveg2 = Console.ReadLine();
string strSzöveg2Upper = strSzoveg2.ToUpper();
strSzöveg2Upper = strSzöveg2Upper.Replace(" ", "");
if (strSzöveg1Upper.IndexOf(strSzöveg2Upper) > -1)
Console.WriteLine("Szerepel benne");
else
Console.WriteLine("Nem szerepel benne!");
Console.ReadKey();
}


Ismeretek helye a tankönyvben: Reiter,19,71-73