using System;

namespace StringManipulation
{
	class Tester
	{
		public void Run()
		{
			string s1 = "abcd";
			string s2 = "ABCD";
			string s3 = @"Liberty Associates, Inc.
 oferuje pisanie programów na zamówienie,
 szkolenia i konsultacje";

			// Metoda Copy klasy String
			string s5 = string.Copy(s2);
			Console.WriteLine(
			   "s5 skopiowano z s2: {0}", s5);

			// Dwie przydatne właściwości: index i length
			Console.WriteLine(
			   "\nŁańcuch znaków s3 ma {0} znaki. ",
			   s5.Length);

			Console.WriteLine(
			   "Piąty znak to {0}\n", s3[4]);

			// Sprawdza, czy łańcuch znaków kończy się określoną sekwencją
			Console.WriteLine("s3:{0}\nKończy się słowem szkolenia?: {1}\n",
			   s3,
			   s3.EndsWith("szkolenia"));
			Console.WriteLine(
			   "Kończy się słowem konsultacje?: {0}",
			   s3.EndsWith("konsultacje"));

			// Zwraca indeks podłańcucha 
			Console.WriteLine(
			   "\nPierwsze wystąpienie słowa szkolenia ");
			Console.WriteLine("w s3 to {0}\n",
			   s3.IndexOf("szkolenia"));

			// Wstawia słowo "doskonałe" przed "szkolenia"
			string s10 = s3.Insert(70, "doskonałe ");
			Console.WriteLine("s10: {0}\n", s10);

			// Można połączyć dwie powyższe instrukcje:
			string s11 = s3.Insert(s3.IndexOf("szkolenia"),
			   "doskonałe ");
			Console.WriteLine("s11: {0}\n", s11);
		}
		static void Main()
		{
			Tester t = new Tester();
			t.Run();
		}
	}
}
