اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
binary literals و digit separators دو ویژگی جدید در سیشارپ 7 هستند که باعث افزایش خوانایی کدها خواهند شد.
در سیشارپ 7 میتوانیم مقادیر فوق را به صورت باینری بنویسیم:
Binary Literals
از همان نسخههای اولیه سیشارپ قابلیت تعریف مقادیر عددی در مبنای 10 و 16 موجود بوده و تا قبل از سیشارپ 7 روش رایج برای تعریف مقادیر هگزادسیمال استفاده از enum بوده است:
[Flags] public enum Option { None = 0x00, Option1 = 0x01, Option2 = 0x02, Option3 = 0x04, Option4 = 0x08, Option5 = 0x10, Option6 = 0x20, Option7 = 0x40, Option8 = 0x80, All = 0xFF }
[Flags] public enum Option { None = 0b00000000, Option1 = 0b00000001, Option2 = 0b00000010, Option3 = 0b00000100, Option4 = 0b00001000, Option5 = 0b00010000, Option6 = 0b00100000, Option7 = 0b01000000, Option8 = 0b10000000, All = 0b11111111 }
Digit Separators
این ویژگی نیز همانطور که از نامش پیداست به عنوان یک جدا کننده در نظر گرفته خواهند شد؛ به عنوان مثال کد قبل را میتوانیم به صورت زیر بنوسیم:
[Flags] public enum Option { None = 0b0000_0000, Option1 = 0b0000_0001, Option2 = 0b0000_0010, Option3 = 0b0000_0100, Option4 = 0b0000_1000, Option5 = 0b0001_0000, Option6 = 0b0010_0000, Option7 = 0b0100_0000, Option8 = 0b1000_0000, All = 0b1111_1111 }
همانطور که مشاهده میکنید با قرار دادن این جدا کننده، خوانایی کد بیشتر شده است. لازم به ذکر است که در زمان کامپایل، این کاراکتر حذف خواهد شد. در واقع از آن تنها جهت افزایش خونایی در حین کدنویسی استفاده میشود: