عملگرهای تخصیصی ( جایگزینی)

نوع دیگر از عملگرهای سی شارپ عملگرهای جایگزینی یا Assignment Operators نام دارند. این عملگرها مقدار متغیر سمت راست خود را در متغیر سمت چپ قرار می‌دهند. جدول زیر انواع عملگرهای تخصیصی در سی شارپ را نشان می‌دهد:

عملگر مثال نتیجه
= var1 = var2; مقدار var1 برابر است با مقدار var2
+= var1 += var2; مقدار var1 برابر است با حاصل جمع var1 و var2
-= var1 -= var2; مقدار var1 برابر است با حاصل تفریق var1 و var2
*= var1 *= var2; مقدار var1 برابر است با حاصل ضرب var1 در var2
/= var1 /= var2; مقدار var1 برابر است با حاصل تقسیم var1 بر var2
%= var1 %= var2; مقدار var1 برابر است با باقیمانده تقسیم var1 بر var2

از عملگر =+ برای اتصال دو رشته نیز می‌توان استفاده کرد. استفاده از این نوع عملگرها در واقع یک نوع خلاصه نویسی در کد است. مثلاً شکل اصلی کد var1 += var2 به صورت var1 = var1 + var2 می‌باشد. این حالت کدنویسی زمانی کارایی خود را نشان می‌دهد که نام متغیرها طولانی باشد. برنامه زیر چگونگی استفاده از عملگرهای تخصیصی و تأثیر آنها را بر متغیرها نشان می‌دهد.

using System;

public class Program
{
    public static void Main()
    {
        int number;

        Console.WriteLine("Assigning 10 to number...");
        number = 10;
        Console.WriteLine("Number = {0}", number);

        Console.WriteLine("Adding 10 to number...");
        number += 10;        
        Console.WriteLine("Number = {0}", number);

        Console.WriteLine("Subtracting 10 from number...");
        number -= 10;
        Console.WriteLine("Number = {0}", number);
    }
}
Assigning 10 to number...
Number = 10
Adding 10 to number...
Number = 20
Subtracting 10 from number...
Number = 10

در برنامه از 3 عملگر تخصیصی استفاده شده است. ابتدا یک متغیر و مقدار 10 با استفاده از عملگر = به آن اختصاص داده شده است. سپس به آن با استفاده از عملگر =+ مقدار 10 اضافه شده است. و در آخر به وسیله عملگر =- عدد 10 از آن کم شده است.