আমি জাভা এবং নতুন টু। নেট প্রযুক্তিতে কাজ করেছি
সি # তে কোনও ফাংশন ঘোষণা করা কি সম্ভব যা ভেরিয়েবল ইনপুট পরামিতি গ্রহণ করে
নিম্নলিখিত জাভা সিনট্যাক্সের মতো কোনও সি # সিনট্যাক্স রয়েছে কি?
void f1(String... a)
আমি জাভা এবং নতুন টু। নেট প্রযুক্তিতে কাজ করেছি
সি # তে কোনও ফাংশন ঘোষণা করা কি সম্ভব যা ভেরিয়েবল ইনপুট পরামিতি গ্রহণ করে
নিম্নলিখিত জাভা সিনট্যাক্সের মতো কোনও সি # সিনট্যাক্স রয়েছে কি?
void f1(String... a)
উত্তর:
হ্যাঁ, সি # এর ভ্যারাগস পরামিতিগুলির সমতুল্য। তাদেরকে প্যারামিটার অ্যারে বলা হয় এবং paramsসংশোধকটির সাথে পরিচয় করিয়ে দেওয়া হয় :
public void Foo(int x, params string[] values)
তারপরে এটিকে কল করুন:
Foo(10, "hello", "there");
জাভা যেমন, এটি শুধুমাত্র শেষ প্যারামিটার যা পৃথক হতে পারে। মনে রাখবেন যে (জাভা হিসাবে) একটি প্যারামিটার params object[] objectsসহজেই বিভ্রান্তি ঘটাতে পারে, কারণ আপনার মনে রাখা দরকার যে একক ধরণের যুক্তিটি object[]আবার মোড়ানোর জন্য বোঝানো হয়েছে কিনা। তেমনিভাবে কোনও নালযোগ্য টাইপের জন্য, আপনার মনে রাখতে হবে যে একটি একক যুক্তি nullঅ্যারে রেফারেন্স বা একক অ্যারে উপাদান হিসাবে বিবেচিত হবে কিনা । (আমি মনে করি যে সংকলকটি কেবল যদি অ্যারে তৈরি করে তবে এটি তৈরি করে তবে আমি কোড লিখতে ঝোঁক যা আমাকে তা মনে রাখতে এড়ায়))
কটাক্ষপাত আছে প্যারাম (গ # রেফারেন্স)
প্যারাম কীওয়ার্ড আপনাকে এমন একটি প্যারামিটার নির্দিষ্ট করতে দেয় যা একটি পরিবর্তনশীল সংখ্যক আর্গুমেন্ট নেয়।
আপনি পরামিতি ঘোষণায় নির্দিষ্ট ধরণের আর্গুমেন্টের কমা-বিচ্ছিন্ন তালিকা বা নির্দিষ্ট ধরণের আর্গুমেন্টের অ্যারে প্রেরণ করতে পারেন। আপনি কোন যুক্তি প্রেরণ করতে পারেন।
কোনও পদ্ধতি ঘোষণায় প্যারাম কীওয়ার্ডের পরে কোনও অতিরিক্ত প্যারামিটারের অনুমতি নেই এবং পদ্ধতি ঘোষণায় কেবলমাত্র একটি প্যারাম কীওয়ার্ড অনুমোদিত।
উদাহরণ হিসাবে প্রদর্শিত পদ্ধতি হিসাবে হিসাবে ঘোষণা করা হয়
public static void UseParams(params int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.Write(list[i] + " ");
}
Console.WriteLine();
}
এবং হিসাবে ব্যবহৃত
UseParams(1, 2, 3, 4);