به دو صورت استفاده می شود:
- عملگر (Operator)
- لیترال (ثابت بدون نام)
اگر بصورت عملگر استفاده شود، مقدار بولی true را برای اینکه نشان دهد که عملوند false است بر می گرداند و درغیر اینصورت true برمی گرداند.
قبل از C# 2.0 عملگر true و false برای ساختن نوع های مقداری تهی پذیر (nullable) کاربر-تعریف که با نوع هایی همچون SqlBool سازگار بود استفاده می شد. هرچند زبان سی شارپ امروزه از نوع های مقداری تهی پذیر پشتیبانی می کند و هرگاه مقدور باشد، باید از آنها بجای overload کردن عملگرهای true و false استفاده کرد.
بوسیله Boolean های تهی پذیر عبارت a != b لزوما برابر (a == b)! نیست؛ زیرا یک یا هردو مقدار ممکن است null باشند. شما مجبورید هردو عملگر true و false را جداگانه بازنویسی (overload) کنید تا با مقادیر null در عبارت ها درست رفتار شود.
اگر در یک کلاس عملگر false را overload کنیم باید حتما عملگر true را هم بازنویسی (overload) کنیم.
کلمات کلیدی true یا false را درحالت لیترال بصورت زیر استفاده می شوند:
bool a=true;
Console.WriteLine(a ? "Yes" : "No");