none
Dizi İçindeki Değeri Artırma. RRS feed

  • Soru

  • int x=10;

    int[] x = new int[1];

    x[0]=x;

    x[0]+=10;

    Bunu yaptığımda çalışmıyor x 10 olarak gözüküyor bunu dizi içinde yapmanın bir yolu var mı?

    2 Nisan 2019 Salı 13:32

Yanıtlar

Tüm Yanıtlar

  • C# statically typed bir dildir. Yani bir değişkenin degerini atadikdan sonra değiştiremezsin. Neden hem ilk int degere hem de diziye ayni değişken ismini kullanmaya calisiyorsun ki? Boyle yapabilirsin:

    int y=10;
    
    int[] x = new int[1];
    
    x[0]=y;
    
    x[0]+=10;
    Sorun tam olarak anlasilmiyor.

    2 Nisan 2019 Salı 13:49
    Yanıtlayıcı
  • C# statically typed bir dildir. Yani bir değişkenin degerini atadikdan sonra değiştiremezsin. Neden hem ilk int degere hem de diziye ayni değişken ismini kullanmaya calisiyorsun ki? Boyle yapabilirsin:

    int y=10;
    
    int[] x = new int[1];
    
    x[0]=y;
    
    x[0]+=10;
    Sorun tam olarak anlasilmiyor.

    pek iyi anlatamamışım üzgünüm,anlatmak istediğim dizinin içindeki değeri artırında y 10 olarak kalıyor bunu yapmamın farklı bir yolu var mı?
    2 Nisan 2019 Salı 14:13
  • unsafe pointerlarla yapabilirsin ama onun da unsafe olmasının bir nedeni var herhalde. Value tipi yerine reference tipi kullanmak baska bir yöntem ama amacina bağlı degip değmeyeceği. 

    2 Nisan 2019 Salı 14:27
    Yanıtlayıcı
  • yeni bir c# sürümü kullanıorsanız ref keywordünü kullanabilirsiniz.

    int[] x = {1,2,3,4};
    
    ref int y = ref x[2];
     
    y++;
    
    Console.WriteLine(x[2]);
    Console.WriteLine(y);

    çıktı:

    4
    4


    www.cihanyakar.com



    2 Nisan 2019 Salı 14:49