উত্তর:
এটি এতটা সহজ:
num1 = num2 = 5;
ভেরিয়েবলের পরিবর্তে কোনও অবজেক্টের সম্পত্তি ব্যবহার করার getসময়, মধ্যবর্তী মানের অ্যাক্সেসর বলা হয় না তা জেনে রাখা আকর্ষণীয় । setঅ্যাসাইনমেন্ট ক্রমটিতে অ্যাক্সেস করা সমস্ত সম্পত্তি জন্য কেবল অ্যাকসেসরকেই অনুরোধ করা হয়।
উদাহরণস্বরূপ একটি বর্গ যে কনসোল সব থেকে লেখার নিন getএবং setঅ্যাকসেসর প্রার্থনা করছে।
static void Main(string[] args)
{
var accessorSource = new AccessorTest(5);
var accessor1 = new AccessorTest();
var accessor2 = new AccessorTest();
accessor1.Value = accessor2.Value = accessorSource.Value;
Console.ReadLine();
}
public class AccessorTest
{
public AccessorTest(int value = default(int))
{
_Value = value;
}
private int _Value;
public int Value
{
get
{
Console.WriteLine("AccessorTest.Value.get {0}", _Value);
return _Value;
}
set
{
Console.WriteLine("AccessorTest.Value.set {0}", value);
_Value = value;
}
}
}
এই আউটপুট হবে
AccessorTest.Value.get 5
AccessorTest.Value.set 5
AccessorTest.Value.set 5
অর্থ যে সংকলকটি সমস্ত বৈশিষ্ট্যের জন্য মান নির্ধারণ করবে এবং যতবার নির্ধারিত হবে ততবার এটি পুনরায় পাঠ করবে না।
Console.WriteLine(num = 5);। (অস্বীকৃতি: আমি এখনও করি নি)
num1 = num2 = 5? আরও ভেরিয়েবল জড়িত থাকলে কি কোডটি অপঠনযোগ্য পরিণত হয়? হাইজ্যাক করার জন্য দুঃখিত, আমি কেবল এটির জন্য একটি নতুন পোস্ট তৈরি করতে চাইনি।
এটি আপনাকে চাইবে তা চাইবে:
int num1, num2;
num1 = num2 = 5;
'num2 = 5' অ্যাসাইনমেন্ট নির্ধারিত মান প্রদান করবে।
এটি আপনাকে পাগলের মতো কাজ করতে দেয় num1 = (num2 = 5) +3;যা 8 থেকে num1 নির্ধারিত করবে, যদিও আমি এটি খুব পাঠযোগ্য না হিসাবে এটি করার পরামর্শ দিই না।
int num1=5,num2=5
একই বিবৃতিতে ভেরিয়েবল ঘোষণা এবং নির্ধারণ করা।
string a = "really long string", b = "really long string";
বাক্যবিন্যাসে কিছুটা খাটো হলেও অন্যরা ইতিমধ্যে যা বলেছে সেগুলি গ্রহণ করছে।
int num1, num2 = num1 = 1;
এটা চেষ্টা কর:
num1 = num2 = 5;
মনে রাখবেন যে এটি ভিবিতে কাজ করবে না।
=নিয়োগ এবং সমতার জন্য উভয় ব্যবহার করা হয়, তাই num1 = num2 = 5এর অর্থ "থাকুক বা না থাকুক পাঁচটি সমান এর বুলিয়ান ফলাফল নির্ধারণ করবে num2পরিবর্তনশীল num1"। কারণ =অপারেটর এই দুটি অর্থ রয়েছে, সেখানে এই সিনট্যাক্স প্রতিনিধিত্ব করতে কোনও উপায় নেই। আপনি যা করতে পারেন তা হ'ল একটি ফাংশন তৈরি করা যা বেশ কয়েকটি প্যারামিটারের byrefপাশাপাশি একটি মান নিয়েছিল এবং সমস্ত মানটিকে সেই মানটিতে নির্ধারিত করে।
num1 = num2 = 5
এটার মতো কিছু.
num1 = num2 = 5
আপনার উদাহরণটি হ'ল:
int num1 = 1;
int num2 = 1;
num1 = num2 = 5;
এটা সহজ.
int num1,num2;
num1 = num2 = 5;
num1 = (num2 = 5)এবং প্রথম নির্বাহ করা হয় যা নির্বাহ করা হয় (num2 = 5) বহিরাগত বিশ্বে 5 মান প্রদান করে - যা পরিবর্তে num1 এ নির্ধারিত হয়। এটি বিজ্ঞাপন ইনফিনিটাম (num0 = num1 = num2 = 5) ব্যবহার করে।