Computer >> Máy Tính >  >> Lập trình >> C#

Quyền anh trong C # là gì?

Quyền anh chuyển đổi loại giá trị thành một loại đối tượng. Hãy để chúng tôi xem một ví dụ về quyền anh -

int x = 50;
object ob = x; // boxing

Trong quyền anh, giá trị được lưu trữ trên ngăn xếp được sao chép sang đối tượng được lưu trữ trên bộ nhớ heap, trong khi việc mở hộp thì ngược lại.

Quyền anh hữu ích trong việc lưu trữ các loại giá trị trong đống rác được thu gom. Đây là sự chuyển đổi ngầm định của một kiểu giá trị thành đối tượng kiểu.

Hãy để chúng tôi xem một ví dụ -

Ví dụ

using System;
using System.Collections.Generic;
using System.Linq;

public class Demo {

   static void Main() {
      int x = 50;
      object ob = x;

      x = 100;

      // The change in x won't affect the value of ob
      System.Console.WriteLine("Value Type = {0}", x);
      System.Console.WriteLine("Oject Type = {0}",ob);
   }
}

Tuy nhiên, trong Unboxing, giá trị của đối tượng được lưu trữ trên bộ nhớ heap được sao chép sang kiểu giá trị được lưu trữ trên ngăn xếp. Nó có chuyển đổi rõ ràng trong khi quyền anh có chuyển đổi ngầm.