الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Null Character في #c

بدأه زيد الرافدين في 2 أغسطس 2009 · 6 رد · 385 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

شباب لدي سؤال حول Null Character في #C

عندما تدرس لغة C سوف تلاحظ ان كل string ينتهي بالرمز 0\ الذي يحدد نهايته ومن هذه الخاصية يمكنك كتابة دالة length لتحديد طول string

اما في #C , فتصور ان لديك string يحمل القيمة "zayd" فان اخر Character تستطيع الوصول اليه هو d وليس 0\ كما في C

فما هي الية تحديد نهاية string في #C ؟؟ (والذي يطرح سؤال كيف تمت كتابة دالة length في #C)

تحياتي

تم تعديل هذه المشاركة بواسطة زيد الرافدين في 2 أغسطس 2009 في 17:02

#2

الذى تتحدث عنه هو الC String

و هى أيضا المستخدمة فى السى شارب

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#3

الـstring في #C مختلف تماماً في طريقة عمله عن string في لغة C. في #C الـstring عبارة عن قيمة غير قابلة للتغيير Immutable value. لذا ما يحدث عندما تقوم بأضافة حرف (مثلاً) إلى string أنه يتم إنشاء string جديد بالقيمة الجديدة. لأن هذه العملية مكلفة ينصح باستخدام stringBuilder في حالة كان لديك قيمة نصية تتغير باستمرار.

#4
System Down كتب:
الـstring في #C مختلف تماماً في طريقة عمله عن string في لغة C. في #C الـstring عبارة عن قيمة غير قابلة للتغيير Immutable value. لذا ما يحدث عندما تقوم بأضافة حرف (مثلاً) إلى string أنه يتم إنشاء string جديد بالقيمة الجديدة. لأن هذه العملية مكلفة ينصح باستخدام stringBuilder في حالة كان لديك قيمة نصية تتغير باستمرار.

كلامك صحيح 100% يااخ System Down لذلك لاينصح ابدا باستعمال string في محررات النصوص لان زيادة اي حرف سوف يؤدي الى توليد نص string جديد ...

لكن ماهو الذي يحدد نهاية string في #C ؟ .. كم يمكن بناء دالة تعيد لنا طول string ؟

شكرا

#5

أنت ما زلت تفكر بطريقة C. سبب وجود الـnull character هو أن الـstring في الـC عبارة عن سلسلة من الحروف الموضوعة في الذاكرة. المتغير من نوع string هو في الواقع مؤشر إلى بداية هذه السلسلة (دون ذكر أين النهاية) لذا يجب وضع null لإيقاف القراءة. هذا لا يحدث في #C حيث يعتبر الـstring قيمة واحدة، بدلاً من سلسلة من القيم.

#6

أذكر أن الString فى السى شارب يتم تمثيلها بتفس الطريقة أخى

يعنى تنتهى أيضا بnull

لست أذكر أين قرأت هذا الأن

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#7

يبدو أننى كنت مخطئ و أننى خلط الأمور

بالفعل الstring فى السى شارب لا يتم تمثيلها بهذه الطريقة بل من الممكن أن تحتوى على null - \0 بدون أى مشاكل

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

مواضيع مشابهة