Avatar ·

ما الفرق بين String و string في C#؟ هل هما نوعان مختلفان؟

مرحبًا بالجميع! بدأت تعلم C# مؤخرًا، وهناك نقطة واحدة تربكني. في أمثلة مختلفة من الكود، أرى أن السلاسل النصية تُصرَّح بطرق مختلفة: البعض يكتب `string name = "John";` والبعض الآخر يكتب `String name = "John";`. كلاهما يعمل، وIntelliSense لا يشتكي. لكن أليس هذين اسمين مختلفين؟ ربما `String` هي كلاس من .NET، و`string` هو نوع بدائي؟ أم هما نفس الشيء؟ حاولت كتابة هذا الكود: ```csharp string a = "Hello"; String b = "World"; Console.WriteLine(a.GetType()); // System.String Console.WriteLine(b.GetType()); // System.String Console.WriteLine(a == b); // True ``` في كلتا الحالتين يظهر `System.String`، والمقارنة تعمل. لكن إذا كانا نفس الشيء، فلماذا إذن اسمان؟ ربما هناك فرق في الأداء أو في كيفية تعاملهما مع الذاكرة؟ أم أن الأمر مجرد مسألة أسلوب؟ سأكون ممتنًا لشرح مفصل، لأنني أخشى أن أكتب شيئًا خاطئًا في مشروع حقيقي. <<>>

إجابة مختصرة