সি # তে স্ট্যাটিক ভেরিয়েবলের ব্যবহার কী? কখন এটি ব্যবহার করবেন? আমি কেন স্থির পরিবর্তনশীল অভ্যন্তরীণ পদ্ধতি ঘোষণা করতে পারি না?


106

আমি সি # তে স্ট্যাটিক ভেরিয়েবলগুলি অনুসন্ধান করেছি, তবে এর ব্যবহার কী তা আমি এখনও পাচ্ছি না। এছাড়াও, যদি আমি পদ্ধতির অভ্যন্তরে পরিবর্তনশীল ঘোষণা করার চেষ্টা করি তবে এটি আমাকে এটি করার অনুমতি দেয় না। কেন?

স্ট্যাটিক ভেরিয়েবল সম্পর্কে আমি কিছু উদাহরণ দেখেছি। আমি দেখেছি ভেরিয়েবল অ্যাক্সেস করার জন্য আমাদের ক্লাসের উদাহরণ তৈরি করার দরকার নেই, তবে এর ব্যবহার কী এবং কখন এটি ব্যবহার করা হবে তা বোঝার জন্য এটি যথেষ্ট নয়।

দ্বিতীয় জিনিস

class Book
{
    public static int myInt = 0;
}

public class Exercise
{
    static void Main()
    {
        Book book = new Book();

        Console.WriteLine(book.myInt); // Shows error. Why does it show me error?
                                       // Can't I access the static variable 
                                       // by making the instance of a class?

        Console.ReadKey();
    }
}

4
আপনি "স্ট্যাটিক ফিল্ড" বলতে চাচ্ছেন?
ডেনিস

যেমন আমরা ক্লাস স্ট্যাটিক ইন = 5
কার্তিক প্যাটেল

3
VB.NET স্থানীয় স্ট্যাটিক ভেরিয়েবল সমর্থন করে। Vb এর সাথে সামঞ্জস্য রাখতে তাদের এটি প্রয়োগ করতে হয়েছিল। এটি যে পরিমাণ কোড তৈরি করে তা প্রচুর , স্থানীয় স্ট্যাটিকসগুলি কারণ তারা থ্রেড-নিরাপদ নয়। ক্ষেত্রগুলি থ্রেড-নিরাপদ নয়, তবে প্রত্যেকেই এটি প্রত্যাশা করে।
হান্স প্যাস্যান্ট

আপনি যে তথ্য চান তা যদি পেয়েছেন তবে গ্রহণযোগ্য হিসাবে উত্তরটি চিহ্নিত করতে ভুলবেন না ...
প্রণয় রানা

3
আপনি স্ট্যাটিক ভেরিয়েবল / পদ্ধতিগুলিতে অ্যাক্সেস করতে পারেন ( Bookকোনও ক্ষেত্রে ) কোনও উদাহরণ ( book) এর মাধ্যমে নয় , সুতরাং সহজ সমাধানটি Book.myInt
জয়দার

উত্তর:


171

একটি staticপরিবর্তনশীল শ্রেণীর সমস্ত দৃষ্টান্তের মধ্যে এর মান ভাগ করে নেয়।

এটি স্থির ঘোষণা না করে উদাহরণ:

public class Variable
{
    public int i = 5;
    public void test()
    {
        i = i + 5;
        Console.WriteLine(i);
    }
}


public class Exercise
{
    static void Main()
    {
        Variable var = new Variable();
        var.test();
        Variable var1 = new Variable();
        var1.test();
        Console.ReadKey();
    }
}

ব্যাখ্যা: আপনি উপরের উদাহরণটি দেখুন, আমি কেবল intপরিবর্তনশীল ঘোষণা । আমি এই কোডটি চালানোর সময় আউটপুটটি হবে 10এবং 10। ইহা সহজ.

এখন আসুন এখানে স্ট্যাটিক ভেরিয়েবলটি দেখুন; আমি ভেরিয়েবলটি এ হিসাবে ঘোষণা করছি static

স্ট্যাটিক ভেরিয়েবল সহ উদাহরণ:

public class Variable
{
    public static int i = 5;
    public void test()
    {
        i = i + 5;
        Console.WriteLine(i);
    }
}


public class Exercise
{
    static void Main()
    {
        Variable var = new Variable();
        var.test();
        Variable var1 = new Variable();
        var1.test();
        Console.ReadKey();
    }
}

এখন যখন আমি কোডের উপরে চলে যাব, আউটপুটটি হবে 10এবং 15। সুতরাং স্থিতিশীল ভেরিয়েবল মান class শ্রেণীর সমস্ত দৃষ্টান্তের মধ্যে ভাগ করা হয়।


9
@ প্রণয়: হ্যাঁ ভালো তবে আপনি যদি আমার উপরের উদাহরণটি দেখান তবে এটি আমার ও অন্যের পক্ষে ভাল বলে মনে হয় .... যাইহোক ভাল প্রচেষ্টা ....
কার্তিক প্যাটেল

1
এটি শ্রেণীর কাছে স্থিতিশীল, অর্থাত্ এর মানটি তার মান সহকারে শ্রেণীর প্রতি বিশ্বস্ত থাকে ... তার জন্য অপেক্ষা করুন ... শ্রেণি
চিবি

আপনি বলছেন যে স্ট্যাটিক ভেরিয়েবল ক্লাসের সমস্ত দৃষ্টান্তের মধ্যে ভাগ করা আছে ... তবে কোনও উদাহরণ না থাকলে কী হবে? আপনি এখনও একটি পরিবর্তনশীল সেট করতে পারেন? স্ট্যাটিক শ্রেণিতে গতিশীল ডেটা সংরক্ষণ করার অনুমতি রয়েছে কি?
কোকোডোকো

@ কোকোডোকো, কোনও উদাহরণ না থাকলেও আপনি অবশ্যই পরিবর্তনশীলটি সেট করতে পারেন। এটি তার স্থির প্রকৃতির সংজ্ঞা দেয়
লাডমার্ক

33

সি # এর স্থির পরিবর্তনগুলি মোটেই নেই । আপনি সি # এর মাধ্যমে নির্দিষ্ট ধরণের সংজ্ঞায় স্থির ক্ষেত্রটি ঘোষণা করতে পারেন । স্ট্যাটিক ফিল্ড একটি রাজ্য, নির্দিষ্ট ধরণের সমস্ত দৃষ্টান্তের সাথে ভাগ করা। সুতরাং, স্ট্যাটিক ক্ষেত্রের সুযোগ পুরো প্রকারের। এজন্য আপনি কোনও পদ্ধতির মধ্যে স্থির ক্ষেত্র ঘোষণা করতে পারবেন না - পদ্ধতিটি নিজেই একটি সুযোগ, এবং কোনও পদ্ধতিতে ঘোষিত আইটেমগুলি অবশ্যই পদ্ধতির সীমানায় অ্যাক্সেসযোগ্য।


5
ঠিক আছে, ডকুমেন্টেশনে এটি হিসাবে বলা হয়েছে "স্ট্যাটিক মডিফায়ার দিয়ে ঘোষিত ক্ষেত্রটিকে স্ট্যাটিক ভেরিয়েবল বলা হয়।" msdn.microsoft.com/en-us/library/aa691162(v=vs.71).aspx তবে আপনি বাকি ব্যাখ্যায় ঠিক আছেন।
তেওমান শিপাহি 20

19

স্থির ভেরিয়েবলগুলি ব্যবহার করা হয় যখন ভেরিয়েবলের কেবল একটি অনুলিপি প্রয়োজন হয়। সুতরাং যদি আপনি পদ্ধতির অভ্যন্তরে ভেরিয়েবল ঘোষণা করেন তবে এই ধরণের ভেরিয়েবলের কোনও ব্যবহার নেই তবে এটি কেবলমাত্র স্থানীয়ভাবে কার্যকর হবে ..

স্থির উদাহরণ

class myclass
{
    public static int a = 0;
}

পরিবর্তনীয় স্থির ঘোষিত সাধারণভাবে কোনও শ্রেণীর সমস্ত দৃষ্টান্তে ভাগ করা হয়।

পরিবর্তনীয় স্থির ঘোষিত সাধারণভাবে কোনও শ্রেণীর সমস্ত দৃষ্টান্তে ভাগ করা হয়। আপনি যখন ভেরিয়েবল টেস্ট শ্রেণীর একাধিক উদাহরণ তৈরি করেন তখন এই পরিবর্তনশীল স্থায়ীটি তাদের সকলের মধ্যে ভাগ করা হয়। সুতরাং, যে কোনও নির্দিষ্ট সময়ে স্থায়ী ভেরিয়েবলের মধ্যে কেবল একটি স্ট্রিং মান থাকবে।

যেহেতু সমস্ত দৃষ্টান্তের জন্য ভেরিয়েবলের কেবল একটি অনুলিপি পাওয়া যায়, এই কোডটি.পার্মেন্টের ফলে সংকলন ত্রুটি হবে কারণ এটি পুনরুদ্ধার করা যেতে পারে যে এই পরিবর্তনশীল নামটি উল্লেখযোগ্য পরিবর্তনশীল নামকে বোঝায়। সুতরাং, স্থিতিশীল ভেরিয়েবলগুলি সরাসরি অ্যাক্সেস করতে হয়, কোডটিতে নির্দেশিত হিসাবে।


আপনি উদাহরণ দিয়ে ব্যাখ্যা করতে পারেন?
কার্তিক প্যাটেল

তবে আমি যদি ক্লাসের উদাহরণ তৈরি করি তবে আমি স্ট্যাটিক ভেরিয়েবল অ্যাক্সেস করতে পারছি না? কেন আমি ক্লাসের নাম অনুসারে স্ট্যাটিক ভ্যারিয়েবল অ্যাক্সেস করতে পারি v ......
কার্তিক প্যাটেল

@ কার্তিক প্যাটেল কারণ স্ট্যাটিক MyInt অ্যাক্সেস করতে আপনাকে ক্লাসের নামটি ব্যবহার করতে হবে। কেন এটি পছন্দ, আমি জানি না। তবে আমি বলব যে এটি অনেক স্পষ্ট কারণ আপনি ক্লাসের একটি অবিচলিত অংশ অ্যাক্সেস করতে চান, এটি অ্যাক্সেস করার জন্য আপনার কোনও উদাহরণ প্রয়োজন হলে এটি স্থির নয়।

@ ডাউইলেফোর: তবে আপনি উপরে উল্লিখিত হিসাবে যে "ভেরিয়েবল স্ট্যাটিক ঘোষিত হয় সাধারণভাবে কোনও শ্রেণীর সমস্ত দৃষ্টান্তে ভাগ করা হয়।" তাহলে এর অর্থ কী?
কার্তিক প্যাটেল

@ কার্তিক প্যাটেল আপনি কোনও উদাহরণ দিয়ে বাইরে থেকে ভেরিয়েবলটি অ্যাক্সেস করতে পারবেন না তবে আপনি সর্বদা আপনার শ্রেণীর অভ্যন্তরে স্থির পরিবর্তনশীল ব্যবহার করতে পারেন এবং তারপরে এটি সমস্ত দৃষ্টিকোণ জুড়েই ভাগ করা হয়। এছাড়াও আমি এই উত্তরটি দিয়েছি তা নয়, আমি এটিতে কেবল মন্তব্য করছি।

9

স্ট্যাটিক ভেরিয়েবলের জন্য কিছু "বাস্তব জগত" উদাহরণ:

এমন একটি শ্রেণি তৈরি করা যেখানে আপনি নিজের আবেদনের জন্য হার্ডকোড হওয়া মানগুলিতে পৌঁছাতে পারেন। একটি গণনার মতো, তবে ডেটাটাইপটিতে আরও নমনীয়তার সাথে।

public static class Enemies
{
    public readonly static Guid Orc = new Guid("{937C145C-D432-4DE2-A08D-6AC6E7F2732C}");
}

বহুল পরিচিত সিঙ্গলটন, এটি কোনও শ্রেণীর ঠিক এক উদাহরণ থাকতে পারে নিয়ন্ত্রণ করতে দেয়। আপনি যদি আপনার পুরো প্রয়োগটিতে এটি অ্যাক্সেস করতে চান তবে এটি খুব কার্যকর just

public sealed class TextureManager
    {
        private TextureManager() {}
        public string LoadTexture(string aPath);

        private static TextureManager sInstance = new TextureManager();

        public static TextureManager Instance
        {
            get { return sInstance; }
        }
    }

এবং এইভাবেই আপনি টেক্সচারম্যানেজারটিকে কল করবেন

TextureManager.Instance.LoadTexture("myImage.png");

আপনার শেষ প্রশ্ন সম্পর্কে: আপনি সংকলক ত্রুটি CS0176 সংশোধন করছেন । আমি সে সম্পর্কে আরও তথ্যের সন্ধান করার চেষ্টা করেছি, তবে এমএসডিএন এর সম্পর্কে যা বলেছিল তা কেবল এটিই খুঁজে পেতে পারি:

ক্লাসের কোনও উদাহরণ তৈরি না করা সত্ত্বেও একটি স্থিতিশীল পদ্ধতি, ক্ষেত্র, সম্পত্তি বা ইভেন্ট ক্লাসে কলযোগ্য। যদি শ্রেণীর কোনও উদাহরণ তৈরি করা হয়, তবে স্থির সদস্যকে অ্যাক্সেস করতে সেগুলি ব্যবহার করা যাবে না। স্থির ক্ষেত্র এবং ইভেন্টগুলির কেবলমাত্র একটি অনুলিপি বিদ্যমান এবং স্থির পদ্ধতি এবং বৈশিষ্ট্যগুলি কেবল স্থির ক্ষেত্র এবং স্থির ইভেন্টগুলিতে অ্যাক্সেস করতে পারে।


5

স্ট্যাটিক ভেরিয়েবলগুলি ব্যবহৃত হয় যখন এটির কেবল একটি অনুলিপি প্রয়োজন। আমি এটি একটি উদাহরণ দিয়ে ব্যাখ্যা করি:

class circle
{
    public float _PI =3.14F;
    public int Radius;

    public funtionArea(int radius)
    {
        return this.radius * this._PI      
    }
}
class program
{
    public static void main()
    {
        Circle c1 = new Cirle();
        float area1 = c1.functionRaduis(5);
        Circle c2 = new Cirle();
        float area2 = c1.functionRaduis(6);
    }
}

এখন এখানে আমরা আমাদের জন্য 2 টি দৃষ্টান্ত তৈরি করেছি class বৃত্তের , অর্থাৎ 2 টি _PI অন্যান্য কপির সাথে দুটি ভেরিয়েবল তৈরি করা হয়েছে। সুতরাং বলুন যে আমাদের কাছে এই শ্রেণীর প্রচুর উদাহরণ রয়েছে _PIতার একাধিক কপি স্মৃতি দখল করে তৈরি করা হবে। সুতরাং এই জাতীয় ক্ষেত্রে যেমন ভেরিয়েবলগুলি তৈরি করা _PI staticএবং সেগুলি চালানো ভাল।

class circle
{
    static float _PI =3.14F;
    public int Radius;

    public funtionArea(int radius)
    {
        return this.radius * Circle._PI      
    }
}
class program
{
    public static void main()
    {
        Circle c1 = new Cirle();
        float area1 = c1.functionRaduis(5);
        Circle c2 = new Cirle();
        float area2 = c1.functionRaduis(6);
    }
}

এখন এটির জন্য কতগুলি উদাহরণ তৈরি করা যায় না class বৃত্তের , কেবলমাত্র একটি অনুলিপি _PIআমাদের স্মৃতিশক্তি সংরক্ষণ করে ভেরিয়েবলের উপস্থিত ।


4

স্ট্যাটিক ক্লাসগুলির জন্য আপনাকে সেই শ্রেণীর কোনও অবজেক্ট তৈরি করার প্রয়োজন নেই / এগুলি ইনস্ট্যান্টিয়েট করতে হবে, আপনি স্ট্যাটিক করার জন্য শ্রেণীর নামের সামনে সি # কীওয়ার্ড স্ট্যাটিক উপসর্গ করতে পারেন।

মনে রাখবেন: আমরা কনসোল ক্লাস, স্ট্রিং ক্লাস, অ্যারে ক্লাস ইনস্ট্যান্ট করছি না।

class Book
{
    public static int myInt = 0;
}

public class Exercise
{
    static void Main()
    {
        Book book = new Book();
       //Use the class name directly to call the property myInt, 
      //don't use the object to access the value of property myInt

        Console.WriteLine(Book.myInt);

        Console.ReadKey();

    }
}

খুব ভাল পর্যবেক্ষণ কারণ আপনি যদি সম্পত্তিটির মূল্য অ্যাক্সেস করতে অবজেক্টটি ব্যবহার করার চেষ্টা করেন তবে আপনি একটি ত্রুটি পাবেন: স্ট্যাটিক অকার্যকর মেইন () {বুক বই = নতুন বই (); // এটি আপনাকে ত্রুটি দেয়: book.myInt = 5;
লিওনিডা

2

এই কার্তিক প্যাটেল উদাহরণ থেকে শুরু করে আমি কিছুটা পরিবর্তন করেছি সম্ভবত এখন স্ট্যাটিক ভেরিয়েবল সম্পর্কে আরও পরিষ্কার

 public class Variable
    {
        public static string StaticName = "Sophia ";
        public string nonStName = "Jenna ";
        public void test()
        {
            StaticName = StaticName + " Lauren"; 
            Console.WriteLine("  static ={0}",StaticName);
            nonStName = nonStName + "Bean ";
            Console.WriteLine("  NeStatic neSt={0}", nonStName);

        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Variable var = new Variable();
            var.test();
            Variable var1 = new Variable();
            var1.test();
            Variable var2 = new Variable();
            var2.test();
            Console.ReadKey();

        }
    }

Output 
  static =Sophia  Lauren
  NeStatic neSt=Jenna Bean
  static =Sophia  Lauren Lauren
  NeStatic neSt=Jenna Bean
  static =Sophia  Lauren Lauren Lauren
  NeStatic neSt=Jenna Bean
  1. সি # তে ক্লাস ভেরিয়েবল ভিএস ইনস্ট্যান্সের পরিবর্তনশীল

    স্ট্যাটিক ক্লাসের সদস্য সি # বা ক্লাস ভেরিয়েবল

    class A
    {
        // Class variable or " static member variable"  are declared with 
        //the "static " keyword
    
        public static int i=20;
        public int j=10;         //Instance variable 
        public static string s1="static class variable"; //Class variable 
        public string s2="instance variable";        // instance variable 
    }
    class Program
    {
        static void Main(string[] args)
        {
            A obj1 = new A();
    
            // obj1 instance variables 
            Console.WriteLine("obj1 instance variables ");
            Console.WriteLine(A.i);
            Console.WriteLine(obj1.j);
            Console.WriteLine(obj1.s2);
            Console.WriteLine(A.s1);
    
            A obj2 = new A();
    
            // obj2 instance variables 
            Console.WriteLine("obj2 instance variables ");
            Console.WriteLine(A.i);
            Console.WriteLine(obj2.j);
            Console.WriteLine(obj2.s2);
            Console.WriteLine(A.s1);
    
            Console.ReadKey();
    
        }
    
    
    }

    }

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

https://en.wikipedia.org/wiki/Class_variable

https://en.wikipedia.org/wiki/Instance_variable

https://en.wikipedia.org/wiki/Static_variable

https://javaconceptoftheday.com/class-variables-and-instance-variables-in-java/?fbclid=IwAR1_dtpHzg3bC5WlGQGdgewaTvuOI6cwVeFUtTV8IZuGTj1qH5PmKGwX0yM

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members


1

প্রকারের দৃষ্টান্তটিতে কাজ করা ডেটা সদস্য এবং ফাংশন সদস্যদের ইনস্ট্যান্স সদস্য বলা হয়। Int এর ToString পদ্ধতি (উদাহরণস্বরূপ) উদাহরণ সদস্যদের উদাহরণ examples ডিফল্টরূপে সদস্যগণ হ'ল উদাহরণস্বরূপ সদস্য। ডেটা সদস্য এবং ফাংশন সদস্য যারা প্রকারের উদাহরণে কাজ করে না, বরং টাইপটি নিজেই স্থায়ী হিসাবে চিহ্নিত করতে হবে। টেস্ট.মেন এবং কনসোল.উরাইটলাইন পদ্ধতি হ'ল স্থির পদ্ধতি। কনসোল ক্লাসটি আসলে একটি স্ট্যাটিক ক্লাস, যার অর্থ এর সমস্ত সদস্য স্থির থাকে। আপনি আসলে কোনও কনসোলের উদাহরণগুলি তৈরি করেন না — পুরো অ্যাপ্লিকেশনটিতে একটি কনসোল ভাগ করা হয়।


1

"কখন এটি ব্যবহার করবেন?" এর জবাবে? প্রশ্ন:

আমি প্রায়শই একটি ক্লাসের প্রতিটি ইভেন্টের জন্য একটি অনন্য উদাহরণ আইডি বরাদ্দ করতে একটি স্ট্যাটিক (শ্রেণি) ভেরিয়েবল ব্যবহার করি। আমি প্রতিটি ক্লাসে একই কোড ব্যবহার করি, এটি খুব সহজ:

//Instance ID ----------------------------------------
    // Class variable holding the last assigned IID
    private static int xID = 0;
    // Lock to make threadsafe (can omit if single-threaded)
    private static object xIDLock = new object();
    // Private class method to return the next unique IID 
    //  - accessible only to instances of the class
    private static int NextIID()                    
    {
        lock (xIDLock) { return ++xID; }
    }
    // Public class method to report the last IID used 
    // (i.e. the number of instances created)
    public static int LastIID() { return xID; }
    // Instance readonly property containing the unique instance ID
    public readonly int IID = NextIID();
//-----------------------------------------------------

এটি স্ট্যাটিক ভেরিয়েবল এবং পদ্ধতিগুলি সম্পর্কে কয়েকটি পয়েন্ট চিত্রিত করে:

  1. স্ট্যাটিক ভেরিয়েবল এবং পদ্ধতি ক্লাসের সাথে সম্পর্কিত, ক্লাসের কোনও নির্দিষ্ট উদাহরণ নয়।
  2. একটি স্ট্যান্টিক পদ্ধতিটি একটি উদাহরণের কনস্ট্রাক্টরে ডাকা যেতে পারে - এই ক্ষেত্রে স্ট্যাটিক পদ্ধতি নেক্সটআইআইডিটি কেবল পাঠযোগ্য সম্পত্তি আইআইডি শুরু করতে ব্যবহৃত হয়, যা এই উদাহরণের জন্য স্বতন্ত্র আইডি।

আমি এটি দরকারী বলে মনে করি কারণ আমি এমন অ্যাপ্লিকেশনগুলি বিকাশ করি যার মধ্যে বস্তুগুলির ঝাঁক ব্যবহার করা হয় এবং কতগুলি তৈরি হয়েছে তা ট্র্যাক করতে সক্ষম হওয়া এবং স্বতন্ত্র উদাহরণগুলি ট্র্যাক / অনুসন্ধান করা ভাল it

রিয়েল টাইমে প্রতিবেদন করা যায় এমন দৃষ্টান্তগুলির সামগ্রীর গড় এবং গড়ের মতো জিনিসগুলি ট্র্যাক করতে আমি ক্লাস ভেরিয়েবলগুলিও ব্যবহার করি। আমি মনে করি ক্লাসের সমস্ত উদাহরণগুলির সংক্ষিপ্ত তথ্য রাখার জন্য ক্লাসটি একটি ভাল জায়গা।



0

সেশন ভেরিয়েবলের সাথে তুলনা করার ক্ষেত্রে, স্ট্যাটিক ভেরিয়েবলগুলির সমস্ত ব্যবহারকারীর জন্য সমান মূল্য থাকবে যা বিবেচনা করে আমি সার্ভারে স্থাপন করা একটি অ্যাপ্লিকেশন ব্যবহার করছি। যদি দু'জন ব্যবহারকারী যদি কোনও অ্যাপ্লিকেশনের একই পৃষ্ঠায় অ্যাক্সেস করে থাকে তবে স্থিতিশীল ভেরিয়েবল সর্বশেষতম মানটি ধারণ করবে এবং একই ব্যবহারকারীর উভয় ব্যবহারকারীকে সেশন ভেরিয়েবলের বিপরীতে সরবরাহ করা হবে যা প্রতিটি ব্যবহারকারীর জন্য পৃথক। সুতরাং, আপনি যদি অ্যাপ্লিকেশন কোড বরাবর ব্যবহার করা হবে এমন মানগুলি সহ সমস্ত ব্যবহারকারীর জন্য সাধারণ এবং একই কিছু চান তবে কেবল স্থির ব্যবহার করুন।


0

আপনার কোনও অবজেক্ট ইনস্ট্যান্ট করার দরকার নেই, কারণ আপনি একটি স্ট্যাটিক ভেরিয়েবল ব্যবহার করছেন: কনসোল.ওরাইটলাইন (Book.myInt);


-1

স্ট্যাটিক ভেরিয়েবল প্রোগ্রামটি প্রস্থান না হওয়া অবধি এর পূর্বের মান ধরে রাখে। স্ট্যাটিকটি সরাসরি ক্লাস_নাম.মথোদ () বা শ্রেণি_নাম.প্রপার্টি কল করে ব্যবহৃত হয়। কোন অবজেক্ট রেফারেন্স প্রয়োজন হয় না। স্ট্যাটিকের সর্বাধিক জনপ্রিয় ব্যবহার হ'ল সি # এর গণিত শ্রেণি। ম্যাথ.সিন (), ম্যাথ.কোস (), ম্যাথ.সেক্র্ট ()।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.