کلمه کیدی byte یک نوع عددی صحیح که مقادیر را طبق جدول زیر می تواند ذخیره کند، تعریف می کند.
- نوع : byte
- محدوده : 0 تا 255
- اندازه : صحیح 8-بیتی بی علامت
- نوع دات نتی: System.Byte
لیترال ها:
شما می توانید مانند مثال زیر یک متغیر byte را اعلان و مقداردهی اولیه کنید:
byte myByte = 255;
در اعلان قبل، لیترال 255 بصورت ضمنی از نوع int به نوع byte تبدیل می شود. اگر لیترال صحیح از محدوده byte تجاوز کند، یک خطای کامپایل اتفاق خواهد افتاد.
تبدیلات:
یک تبدیل ضمنی از پیش تبدیل شده از byte به short، ushort، int، uint، long، ulong، float، double یا decimal وجود دارد.
شما نمی توانید نوع های عددی غیر-لیترال از اندازه های بزرگتر را به نوع byte تبدیل کنید. برای مثال، دو متغیر x و y زیر را که از نوع byte می باشند را در نظر بگیرید:
byte x = 10, y = 20;
بیان انتساب زیر یک خطای کامپایل تولید خواهید کرد، زیرا عبارت ریاضی ای که در سمت راست عملگر انتساب قرار دارد بطور پیش فرض به int ارزیابی می شود.
// Error: conversion from int to byte: byte z = x + y;
برای حل این مشکل، از قالبریزی زیر استفاده کنید:
// OK: explicit conversion: byte z = (byte)(x + y);
این امکان وجود دارد که از بیان زیر که مقدار مقصد، اندازه ذخیره سازی مساوی یا بزرگتر دارد، استفاده کرد:
int x = 10, y = 20; int m = x + y; long n = x + y;
همچنین، هیچ تبدیل ضمنی از نوع های ممیز-شناور به نوع byte وجود ندارد. برای مثال، بیان زیر تا زمانی که از قالبریزی صریح استفاده نشود، خطای زمان کامپایل تولید می کند:
// Error: no implicit conversion from double: byte x = 3.0; // OK: explicit conversion: byte y = (byte)3.0;
در مواقع فراخوانی متدهای بارگذاری مجدد شده (overloaded) یک قالبریزی (cast) باید استفاده شود. برای مثال، متدهای بارگذاری مجدد شده زیر را که از نوع های byte و int به عنوان پارامتر استفاده می کنند را در نظر بگیرید:
public static void SampleMethod(int i) {} public static void SampleMethod(byte b) {}
استفاده از قالبریز byte تضمین می کند که نوع درستی فراخوانی شده، مثلا":
// Calling the method with the int parameter: SampleMethod(5); // Calling the method with the byte parameter: SampleMethod((byte)5);