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.