আচরণটি Array.Resize
। নেট এ পদ্ধতির সাথে চূড়ান্ত similar কী চলছে তা বোঝার জন্য, .
সি, সি ++, জাভা, সি #, এবং সুইফটে টোকেনের ইতিহাসটি অনুসন্ধান করা সহায়ক হতে পারে ।
সি-তে কোনও কাঠামো ভেরিয়েবলের সমষ্টি ছাড়া আর কিছুই নয়। .
স্ট্রাকচার টাইপের ভেরিয়েবল এ প্রয়োগ করলে স্ট্রাকচারের মধ্যে সঞ্চিত ভেরিয়েবল অ্যাক্সেস হবে। বস্তুগুলিতে পয়েন্টারগুলি ভেরিয়েবলগুলির সমষ্টি ধারণ করে না , তবে তাদের সনাক্ত করে। যদি কারও কাছে কোনও পয়েন্টার থাকে যা কোনও কাঠামো সনাক্ত করে, ->
অপারেটরটি পয়েন্টার দ্বারা চিহ্নিত কাঠামোর মধ্যে সঞ্চিত ভেরিয়েবল অ্যাক্সেসের জন্য ব্যবহার করা যেতে পারে।
সি ++ তে স্ট্রাকচার এবং ক্লাসগুলি কেবলমাত্র সামগ্রিক চলকই নয়, তাদের সাথে কোডও সংযুক্ত করতে পারে। ব্যবহার .
একটি পদ্ধতি ডাকা একটি পরিবর্তনশীল কাজ করার জন্য যে পদ্ধতি জিজ্ঞাসা করবে পরিবর্তনশীল নিজেই বিষয়বস্তু উপর ; ব্যবহার ->
একটি পরিবর্তনশীল যা চিহ্নিত একটি বস্তু বস্তু উপর কাজ করতে যে পদ্ধতি জিজ্ঞাসা করবে উপর চিহ্নিত পরিবর্তনশীল দ্বারা।
জাভাতে, সমস্ত কাস্টম ভেরিয়েবল প্রকারভেদে অবজেক্টগুলি চিহ্নিত করে এবং একটি ভেরিয়েবলের উপর কোনও পদ্ধতি চাওয়া পদ্ধতিটি ভেরিয়েবল দ্বারা কোন বস্তুটি চিহ্নিত করা হবে তা পদ্ধতিটি বলবে। ভেরিয়েবলগুলি কোনও ধরণের যৌগিক ডেটা টাইপ সরাসরি ধরে রাখতে পারে না, বা কোনও উপায় নেই যার মাধ্যমে কোনও পদ্ধতি কোনও চলকটি অ্যাক্সেস করতে পারে যার সাহায্যে এটি চাওয়া হয়। এই বিধিনিষেধগুলি যদিও শব্দার্থগতভাবে সীমাবদ্ধ, রানটাইমটি ব্যাপকভাবে সরল করে, এবং বাইটকোড বৈধকরণকে সহজতর করে; এই জাতীয় সরলকরণ জাভাটির রিসোর্স ওভারহেডকে এমন সময়ে হ্রাস করেছিল যখন বাজার এ জাতীয় সমস্যাগুলির প্রতি সংবেদনশীল ছিল এবং এইভাবে এটি মার্কেটপ্লেসে ট্রেশন অর্জনে সহায়তা করেছিল। তারা আরও বোঝায় যে .
সি বা সি ++ তে ব্যবহৃত সমতুল্য টোকেনের প্রয়োজন নেই । যদিও জাভা ->
সি এবং সি ++ এর মতো ব্যবহার করতে পারত , স্রষ্টারা একক-অক্ষর ব্যবহার করতে পছন্দ করেছেন.
যেহেতু এটি অন্য কোনও প্রয়োজনের জন্য প্রয়োজন ছিল না।
সি # এবং অন্যান্য। নেট ভাষায়, ভেরিয়েবলগুলি বস্তুগুলি সনাক্ত করতে পারে বা সরাসরি সংমিশ্রিত ডেটা ধরে রাখতে পারে। যখন একটি যৌগিক ডেটা টাইপের ভেরিয়েবল ব্যবহার করা হয় তখন ভেরিয়েবলের বিষয়বস্তু অনুসারে .
কাজ করে ; রেফারেন্স প্রকারের পরিবর্তে যখন ব্যবহৃত হয়, চিহ্নিত বস্তুর উপরে কাজ করে.
এটি দ্বারা. কিছু ধরণের ক্রিয়াকলাপের জন্য অর্থগত পার্থক্যটি বিশেষ গুরুত্বপূর্ণ নয়, তবে অন্যদের পক্ষে এটি। সর্বাধিক সমস্যাযুক্ত পরিস্থিতি হ'ল এমন একটি যৌগিক ডেটা টাইপের পদ্ধতি যা পরিবর্তিত পরিবর্তনের পরিবর্তে এটি পরিবর্তিত হয়, কেবলমাত্র পঠনযোগ্য ভেরিয়েবলের দিকে আহ্বান জানায়। যদি কেবল কোনও পঠনযোগ্য মান বা ভেরিয়েবলের জন্য কোনও পদ্ধতিটি আহ্বান করার চেষ্টা করা হয়, তবে সংকলকগণ সাধারণত চলকটি অনুলিপি করতে পারেন, পদ্ধতিটি তার উপর কাজ করতে দিন এবং ভেরিয়েবলটি বাতিল করুন। এটি সাধারণত এমন পদ্ধতিগুলির সাথে সুরক্ষিত যেগুলি কেবল পরিবর্তনশীল পড়তে পারে তবে এতে লেখা পদ্ধতিগুলির সাথে নিরাপদ নয়। দুর্ভাগ্যক্রমে, .ডোসগুলির কাছে এ জাতীয় প্রতিস্থাপনের সাথে কোন পদ্ধতিগুলি নিরাপদে ব্যবহার করা যেতে পারে এবং কোনটি পারে না তা বোঝানোর এখনও কোনও উপায় নেই।
সুইফটে, সমষ্টিগুলিতে পদ্ধতিগুলি স্পষ্টভাবে নির্দেশ করতে পারে যে তারা পরিবর্তিত হয় সেটির পরিবর্তিত হবে কি না, এবং সংকলক কেবল পঠনযোগ্য ভেরিয়েবলগুলির উপর পরিবর্তনের পদ্ধতি ব্যবহার করতে নিষেধ করবে (পরিবর্তে ভেরিয়েবলের অস্থায়ী অনুলিপিগুলিকে পরিবর্তিত করার পরিবর্তে) বাতিল করা)। এই পার্থক্যের কারণে, .
টোকেনটি কল করার পদ্ধতিগুলি ব্যবহার করে যা ভেরিয়েবলগুলি পরিবর্তিত হয় সেগুলি পরিবর্তন করে। দুর্ভাগ্যক্রমে, সত্য যে একই .
টোকেনটি একটি ভেরিয়েবল দ্বারা চিহ্নিত কোনও বাহ্যিক বস্তুর উপর কাজ করার জন্য সেই উদ্দেশ্যে ব্যবহৃত হয় তার অর্থ বিভ্রান্তির সম্ভাবনা থেকেই যায়।
যদি একটি টাইম মেশিন থাকে এবং সি # এবং / বা সুইফট তৈরিতে ফিরে যায়, ভাষা সি এবং+ ব্যবহারের আরও কাছাকাছি কোনও ফ্যাশনে ভাষা .
এবং ->
টোকেন ব্যবহার করে এই জাতীয় সমস্যার আশেপাশের বিভ্রান্তি অনেকটা এড়াতে পারে । সমষ্টি এবং রেফারেন্স উভয় পদ্ধতির পদ্ধতিতে তারা .
যে ভেরিয়েবলটি আহ্বান করেছিল তার ->
উপর কাজ করতে এবং কোনও মান (সংমিশ্রনের জন্য) বা এর দ্বারা চিহ্নিত জিনিস (রেফারেন্সের ধরণের জন্য) এর জন্য কাজ করতে পারে। কোনওটিই সেভাবে ডিজাইন করা হয়নি।
সি # তে, কোনও পদ্ধতির পরিবর্তিত পরিবর্তনের পরিবর্তনের জন্য যে পদ্ধতিতে এটি আহ্বান করা হয় তার সাধারণ অনুশীলন হ'ল ভ্যারিয়েবলটিকে একটি ref
প্যারামিটার হিসাবে কোনও পদ্ধতিতে পাস করা । সুতরাং 20 টি উপাদানগুলির একটি অ্যারে চিহ্নিত করার Array.Resize(ref someArray, 23);
সময় কল করলে মূল অ্যারেটিকে প্রভাবিত না করে 23 টি উপাদানের একটি নতুন অ্যারে সনাক্ত করা যায়। এর ব্যবহারটি পরিষ্কার করে দেয় যে পদ্ধতিটি যে ভেরিয়েবলটি প্রেরণ করা হয়েছিল তা পরিবর্তিত করার আশা করা উচিত। অনেক ক্ষেত্রে স্থির পদ্ধতি ব্যবহার না করে ভেরিয়েবলগুলি সংশোধন করতে সক্ষম হওয়াই সুবিধাজনক; সিন্ট্যাক্স ব্যবহার করে সুইফট ঠিকানাগুলির অর্থ । অসুবিধাটি হ'ল এটি ভেরিয়েবলগুলির উপর কোন পদ্ধতিগুলি কার্যকর হয় এবং কোন পদ্ধতিগুলি মূল্যবোধের ভিত্তিতে কাজ করে তা স্পষ্টতা হারায়।someArray
someArray
ref
.