String'e dizi (array) özelliği kazandırmaya çalışmışsın. kelime[2] ifadesi demek, kelime isimli dizinin üçüncü elemanını getir demektir. Stringlerin karakterlerine numara vererek onlara ulaşamazsın. Onun yerine substring kullanman gerekir.
Örneğin beşinci karaktere (harfe) ulaşmak istiyorsun:
string besinci = kelime.Substring(4, 1);
Şimdi "besinci" isminde bir değişken var ve bu değişken "kelime" değişkenindeki 5nci harfi içeriyor. Parantez içindeki 4, kaçıncı harften itibaren almak istediğini ifade eder (ki sayfamaya sıfırdan başlandığı için 4 sıra numarası, 5nci karaktere denk gelir), ondan sonraki 1 sayısı ise, kaç harf okumak istediğini belirtir.
Örneklendirecek olursak:
string kelime = 'Elmacik';
Console.Write(kelime.Substring(4, 1));
Bu kod ekrana beşinci karakteri yani "c" harfini yazdırır. Şöyle deneyelim:
string kelime = 'Elmacik';
Console.Write(kelime.Substring(3, 2));
Bu kod, dördüncü karakterden başlayarak ekrana iki harf yazdırır. Yani "ac".
Köşeli parantez kullanmak, dizilerin özelliğidir. Dizilerin o sıradaki elemanına ulaşmak için kullanılır.
Bu arada ben C# dilini bilmiyorum, genel programlama mantığından yola çıkarak bu cevabı verdim.
İyi çalışmalar.