Daftar dan Belajar Sekarang!

pengambilan data skop multiple dalam C#

foto adamkenway007
13 Kontribusi 1 Coto
1 tahun yang lalu
permisi kak saya mau bertanya seputar c#
// Demonstrasi skop blok.
using System;

class DemoSkop
{
    static void Main()
    {
        int x; // di kenali oleh semua kode di dalam Main()
        int z;

        z = 2;
        x = 10;
        if  ((z == 2) && ( x == 10) )
        { // mulai skop baru
            int y = 20; // hanya dikenali di dalam blok ini
            int m = 5;
            byte l = 50;
            

            // x,l dan y keduanya dikenali di sini.
            Console.WriteLine("x dan y: " + x + " " + y);
            Console.WriteLine("x ditambah y: " + (x + y));
            Console.WriteLine("x dikurangi y: " + (x - y));
            Console.WriteLine("x dikali y: " + (x * z));
            Console.WriteLine("x dibagi m: " + (x / m));
            Console.WriteLine("l dibagi x dikali m: " + (l / x) * m);
            x = y * 2;
        }
        
        { // mulai skop baru ke 2
            int a = 3;
            int b = 4;

            x = 10; // --?? kenapa harus di definiskan padahal di main - 
            //sudah ada,apabila tidak maka nilai nya akan berubah jadi 40 ??.

            // a dan b keduanya dikenali di sini.
            Console.WriteLine("-------------------------");
            Console.WriteLine("x dan a: " + x + " " + a);
            Console.WriteLine("b ditambah a: " + (b + a));
            Console.WriteLine("x dikurangi b: " + (x - b));
        
        }
        // y = 100; // Error! y tidak dikenal di sini.
        // x masih dikenali di sini

        Console.WriteLine("x adalah " + x);
    }
}
sebelumnya saya sudah membuat 1 sekop luar dan 2 skop dalam,hal ini memungkinkan kita buat membaca variable yang ada di dalam blok skop dalam no.1 dan 2 dalam kasus ini saya membuat dua buah blok dalam skop yang berbeda (skop dalam no. 1 & 2) namun apabila skop dalam no.2 tidak di beri nilai x = 10, maka output x = 40 ?,tidak seperti skop dalam no.1 nilai x tetap 10 karena sudah di definisikan di main. mohon bantuanya kak :)

Tag: bebas c

✔ Forum ini sudah terjawab


Jawaban
foto felixlambet
16 Kontribusi 8 Coto
1 tahun yang lalu
x = y * 2;
ini yg ngebuat x nya jd 40.
answered icon
foto felixlambet
16 Kontribusi 8 Coto
1 tahun yang lalu
x = y * 2;
ini yg ngebuat x nya jd 40.

foto adamkenway007
13 Kontribusi 1 Coto
1 tahun yang lalu
terimah kasih kak kayaknya saya sendiri yang kurang teliti


Login untuk diksusi di forum sekolah koding