C# কম্পাইলারের আলাদা একটি প্রিপ্রসেসর নেই; যাইহোক, ডাইরেক্টিভগুলি প্রক্রিয়া করা হয় যেন যেন একটি থাকে। C#-এ প্রি-প্রসেসর ডাইরেক্টিভগুলি কন্ডিশনাল কম্পাইলেশনে সাহায্য করতে ব্যবহৃত হয়।
প্রি-প্রসেসর ডাইরেক্টিভগুলি প্রকৃত কম্পাইলেশন শুরু হওয়ার আগে তথ্য প্রিপ্রসেস করার নির্দেশ কম্পাইলারকে দেয়।
C#-এ প্রি-প্রসেসর ডাইরেক্টিভসমূহ
| ক্রম নং | প্রি-প্রসেসর ডাইরেক্টিভ ও বিবরণ |
|---|---|
| 1 | #define একটি ক্যারেক্টার সিকোয়েন্স ডিফাইন করে, যাকে সিম্বল বলা হয়। |
| 2 | #undef একটি সিম্বল অনডিফাইন করার অনুমতি দেয়। |
| 3 | #if একটি সিম্বল বা সিম্বলগুলি পরীক্ষা করার অনুমতি দেয় যে সেগুলি true মূল্যায়ন করে কিনা। |
| 4 | #else#if সাথে যৌগিক কন্ডিশনাল ডাইরেক্টিভ তৈরি করার অনুমতি দেয়। |
| 5 | #elif যৌগিক কন্ডিশনাল ডাইরেক্টিভ তৈরি করার অনুমতি দেয়। |
| 6 | #endif একটি কন্ডিশনাল ডাইরেক্টিভের শেষ নির্দেশ করে। |
| 7 | #line কম্পাইলারের লাইন নম্বর এবং (ঐচ্ছিক) ফাইল নাম আউটপুট পরিবর্তন করতে দেয় ত্রুটি এবং সতর্কতা জন্য। |
| 8 | #error আপনার কোডের একটি নির্দিষ্ট লোকেশন থেকে একটি ত্রুটি তৈরি করার অনুমতি দেয়। |
| 9 | #warning আপনার কোডের একটি নির্দিষ্ট লোকেশন থেকে লেভেল वन সতর্কতা তৈরি করার অনুমতি দেয়। |
| 10 | #region কোডের একটি ব্লক নির্দিষ্ট করতে দেয় যা আউটলাইনিং ফিচার ব্যবহার করে এক্সপ্যান্ড বা কল্যাপ্স করা যায়। |
| 11 | #endregion#region ব্লকের শেষ চিহ্নিত করে। |
উদাহরণ
#define PI
using System;
namespace Demo
{
class Program
{
static void Main(string[] args)
{
#if (PI)
Console.WriteLine("PI is defined");
#else
Console.WriteLine("PI is not defined");
#endif
Console.ReadKey();
}
}
}