C# komut her çalıştığında Array içerisine almak

Array listten eleman çağırmak istediğim zaman liste[0]'dan büyük bir sayı yazarsam çalışmıyor.
Merhabalar, ArrayList'i C# Console Application olarak test ettim. Bende aynı sorun yok acaba sizin kendi yazdığınız kişisel kodlarınızda bir sorun olabilir mi?
 

Dosya Ekleri

  • Screenshot_1.png
    Screenshot_1.png
    26,8 KB · Görüntüleme: 22
  • Screenshot_2.png
    Screenshot_2.png
    9,1 KB · Görüntüleme: 23
Neyi nereye yazacağım onu çözemedim.

Eki Görüntüle 1367655
Bu şekilde.
C#:
public static string ExtensionsPath = Paths.AppData + @"\serverCreator\Extensions\";
public static void readExtensions()
{
    ArrayList liste = new ArrayList();
    foreach (string s in Directory.GetDirectories(ExtensionsPath))
    {
        Console.Write(s.Remove(0, ExtensionsPath.Length) + "\n");
        liste.Add(s.Remove(0, ExtensionsPath.Length)+"");
        Console.WriteLine(liste[liste.Count- 1]);
    }
}

Merhabalar, kodun yukarıdaki haliyle yaşadığınız sorun nedir acaba paylaşabilir misiniz?
 
C#:
public static string ExtensionsPath = Paths.AppData + @"\serverCreator\Extensions\";
public static void readExtensions()
{
 ArrayList liste = new ArrayList();
 foreach (string s in Directory.GetDirectories(ExtensionsPath))
 {
 liste.Add(s.Remove(0, ExtensionsPath.Length)+"");
 Console.WriteLine(liste[liste.Count- 1]);
 }
}

Bu hâliyle yaşadığım sorun bulunmamakta.

1650668862057.png


Çıktıyı doğru veriyor. Mesela sadece eklenti3 yazanı çekmek istersem nasıl yapacağım?
 
Merhabalar atmış olduğunuz ekran görüntüsüne göre "eklenti3" elemanı için "liste[2]" çıktısını alabilirsiniz. Yalnız bu çıktı için foreach'dan sonrasına WriteLine fonksiyonunu koymalısınız.

Örnek:
C#:
public static string ExtensionsPath = Paths.AppData + @"\serverCreator\Extensions\";
public static void readExtensions()
{
    ArrayList liste = new ArrayList();
    foreach (string s in Directory.GetDirectories(ExtensionsPath))
    {
        Console.Write(s.Remove(0, ExtensionsPath.Length) + "\n");
        liste.Add(s.Remove(0, ExtensionsPath.Length)+"");
        // Console.WriteLine(liste[liste.Count- 1]);
    }
    Console.WriteLine(liste[2]);
}
 
Merhabalar atmış olduğunuz ekran görüntüsüne göre "eklenti3" elemanı için "liste[2]" çıktısını alabilirsiniz. Yalnız bu çıktı için Foreach'dan sonrasına WriteLine fonksiyonunu koymalısınız.

Örnek:
C#:
public static string ExtensionsPath = Paths.AppData + @"\serverCreator\Extensions\";
public static void readExtensions()
{
 ArrayList liste = new ArrayList();
 foreach (string s in Directory.GetDirectories(ExtensionsPath))
 {
 Console.Write(s.Remove(0, ExtensionsPath.Length) + "\n");
 liste.Add(s.Remove(0, ExtensionsPath.Length)+"");
 // Console.WriteLine(liste[liste.Count- 1]);
 }
 Console.WriteLine(liste[2]);
}

"Eklenti3" elemanının sahip olduğu indeks numarasını yazarak?

liste[0], 0'ın üzerinde bir numara girdiğim zaman hata alıyorum anlatmak istediğim buydu.
Mesela liste[1] yazarsam hata alıyorum.
 
Onu beceremedim, hiç olmadı yani.

Sorunu hala çözemediysen nasıl kullanıldığına bakabilirsin.
C#:
static void Main(string[] args)
{
    List<string> Eklentiler = new List<string>();

    // Verileri yazıyoruz
    Eklentiler.Add("eklenti1"); // İndex: 0
    Eklentiler.Add("eklenti2"); // İndex: 1
    Eklentiler.Add("eklenti3"); // İndex: 2
    Eklentiler.Add("eklenti4"); // İndex: 3

    // Verileri foreach döngüsü ile okuyoruz
    Console.WriteLine("Foreach:");
    foreach (string veri in Eklentiler)
    {
        Console.WriteLine(veri);
    }

    // Verileri for döngüsü ile okuyoruz
    Console.WriteLine("\nFor:");
    for(int i = 0; i < Eklentiler.Count; i++)
    {
        Console.WriteLine(Eklentiler[i]);
    }

    // İndex numarasıyla almak istersen
    Console.WriteLine("\nİndex:");
    Console.WriteLine(Eklentiler[0]);
    Console.WriteLine(Eklentiler[1]);
    Console.WriteLine(Eklentiler[2]);
    Console.WriteLine(Eklentiler[3]);
    //Console.WriteLine(Eklentiler[4]); Bunu aktif edersen hata alırsın index değerimiz 0 ile 3 arası

    Console.ReadKey();
}
 

Yeni konular

Geri
Yukarı