سؤال

في C # هناك String الكائنات و string أشياء.

ما الفرق بين الاثنين؟ما هي أفضل الممارسات فيما يتعلق باستخدامها؟

هل كانت مفيدة؟

المحلول

ليس هناك فرق.السلسلة (الأحرف الصغيرة) هي مجرد اسم مستعار لـ System.String.

نصائح أخرى

لا فرق. System.String مطابق تماما ل string.تشير إرشادات ترميز C# الشائعة إلى أنه يجب عليك استخدام الكلمة الأساسية string.

وهي أسماء مستعارة وقابلة للتبديل.ومع ذلك، من الناحية الأسلوبية، بالنسبة للإعلانات، أستخدم السلسلة الصغيرة، وبالنسبة للطرق الثابتة، أستخدم String.

string foo = "bar";

if( foo != String.Empty )
{
   Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}

أحدهما هو System.String من نوع .Net والآخر خاص بـ C# والذي تبين أنه اسم مستعار يعود إلى System.String.

http://msdn.microsoft.com/en-us/library/362314fe(VS.71).aspx

ليس هناك فرق.السلسلة هي اسم مستعار يحوله المترجم إلى System.String.

في الواقع، إنه مستعار حتى في MSIL:

.method private hidebysig static void  Main(string[] args) cil managed

ليس هنالك أختلاف بينهم.السلسلة هي مجرد اسم مستعار لـ System.String.عند التحويل البرمجي يتم تجميعهما إلى كائن System.String.

الإصدار ذو الأحرف الصغيرة هو مجرد اسم مستعار لسلسلة الفئة الفعلية.لا يوجد فرق حقيقي فيما يتعلق بتوليد IL.

ليس هناك فرق.string هي كلمة أساسية في لغة C# تشير إلى الفئة System.String، تمامًا مثل int هي الكلمة الأساسية التي تشير إلى System.Int32.

في المستقبل، حاول تجميع تطبيق يستخدم كليهما ثم استخدم Reflector (قم بتغيير اللغة إلى IL) لعرض المخرجات المترجمة.سترى أنه لا يوجد فرق.

لا يوجد فرق لأنه يتم تحويل السلسلة إلى System.String بواسطة المترجم.نفس الشيء مع جميع الأنواع الشائعة (ينتقل int إلى System.Int32، وما إلى ذلك).نحن نستخدم الاسم البسيط حتى يبرزوا.

مع الأخذ في الاعتبار أن "int" يختلف في بعض اللغات اعتمادًا على نظام 16 بت/32 بت، فقد تتطور "سلسلة" في المستقبل بحيث لا تكون مثل System.String.

ولكن في الوقت الراهن هو عليه.

مجرد ملاحظة بسيطة:السلسلة/السلسلة ليست الزوجين الوحيدين من الأسماء المستعارة:على سبيل المثال.Integer،Int32، int كلها أسماء مستعارة.

@مليسن:هذا لا يحدث في C#، فهو ليس مثل C.هذا لأنه من C# لا تقوم بإنشاء ملف قابل للتنفيذ ولكن رمزًا مجمعًا، مثل java.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top