Sobes.tech
Junior — Middle

Əməliyyat yaddaşında String məlumat strukturu necə təşkil olunub?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində, string (sətir) dəyişməz (immutable) obyekt olub, yaddaşda UTF-16 kodlamasında simvollar ardıcıllığı kimi təmsil olunur.

String məlumat strukturu yaddaşda aşağıdakıları əhatə edir:

  • İdarə olunan yerdə (heap) obyekt, bu aşağıdakıları ehtiva edir:
    • Obyektin başlığı (meta-məlumatlar, toplayıcı və tip üçün).
    • Sətirin uzunluğu sahəsi (simvol sayı).
    • Hər simvolun 2 bayt (UTF-16) tutduğu char[] simvol massiv.

Sətirlər dəyişməz olduğundan, dəyişiklik zamanı yeni obyekt yaradılır və köhnə obyekt yaddaşda qaldığı müddətdə toplayıcı tərəfindən silinir.

Nümunə:

string s = "Nümunə";
// Yaddaşda, s 6 uzunluğunda və 'N','ü','m','u','n','ə' simvol massivini saxlayan obyekt.

Beləliklə, sətir obyektinin sabit uzunluğu və simvol ardıcıllığı var və bu, .NET-də təhlükəsiz və səmərəli istifadə üçün optimallaşdırılmışdır.