تمرين - اكتشاف Split() و Join()
- 10 دقائق
أثناء متابعة أعمال التطوير الخاصة بك لشركة لوجستية، تبدأ في إنشاء سلسلة من التطبيقات الصغيرة. تعمل هذه التطبيقات معا لأخذ البيانات من نظام أحد الشركاء وتعديلها ثم تمريرها إلى نظام داخلي بالتنسيق المطلوب.
لإجراء تحويل البيانات، تحتاج إلى قبول البيانات الواردة كسلسلة، وتحليلها في عناصر بيانات أصغر، ثم معالجتها لمطابقة التنسيق المختلف المطلوب. كيف يمكنك تحليل بيانات السلسلة في عناصر بيانات أصغر؟
أساليب صفيف نوع بيانات السلسلة
تتمتع متغيرات النوع string بالعديد من الأساليب المدمجة التي تقوم بتحويل سلسلة فردية إما إلى صفيف من السلاسل الأصغر أو صفيف من الأحرف الفردية.
عند معالجة البيانات من أنظمة الكمبيوتر الأخرى، في بعض الأحيان تقوم بتنسيق أو ترميز بطريقة غير مفيدة لأغراضك. في هذه الحالات، يمكنك استخدام string أساليب صفيف نوع البيانات لتحليل سلسلة في صفيف.
ToCharArray() استخدم لعكسstring
احذف عامل تشغيل
//تعليق السطر أو استخدمه للتعليق على جميع التعليمات البرمجية من التدريبات السابقة.تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string value = "abc123"; char[] valueArray = value.ToCharArray();
في هذا المثال، ToCharArray() يتم استخدام الأسلوب لإنشاء صفيف من char، حيث يمثل كل عنصر من عناصر الصفيف حرفا واحدا من السلسلة الأصلية.
عكس، ثم دمج صفيف الأحرف في سلسلة جديدة
بعد ذلك، يتم عكس ترتيب الأحرف في الصفيف، ثم Write يتم استخدام الأسلوب لدمجها مرة أخرى في إخراج واحد.
تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); string result = new string(valueArray); Console.WriteLine(result);ينشئ التعبير
new string(valueArray)مثيلاً فارغًا جديدًاSystem.Stringللفئة (وهو نفسstringنوع البيانات في C#) ويمر في صفيف الأحرف كالدالة الإنشائية.إشعار
ما هي
newالكلمة الرئيسية؟ كيف تكونSystem.Stringالفئة مرتبطة بنوع البيانات فيstringC#؟ ما هي الدالة الإنشائية؟ جميع الأسئلة الهامة تقع للأسف خارج نطاق هذه الوحدة. يوصى بمواصلة التعرف على مكتبة فئات .NET بالإضافة إلى الفئات والعناصر في C# لفهم ما يحدث خلف الكواليس بشكل كامل باستخدام هذا التعبير من التعليمات البرمجية. في الوقت الحالي، استخدم محرك بحث ووثائق Microsoft للعثور على أمثلة يمكنك استخدامها في مثل هذه الحالات حيث تعرف أنك تريد إجراء تحويل ولكنك لست متأكدا من كيفية القيام بذلك باستخدام C#.في قائمة Visual Studio Code File ، حدد Save.
يجب حفظ ملف Program.cs قبل إنشاء التعليمات البرمجية أو تشغيلها.
في لوحة EXPLORER، لفتح Terminal في موقع مجلد TestProject، انقر بزر الماوس الأيمن فوق TestProject، ثم حدد Open in Integrated Terminal.
يجب فتح لوحة Terminal، ويجب أن تتضمن موجه أوامر يظهر أن Terminal مفتوحة لموقع مجلد TestProject.
في موجه الأوامر Terminal، لتشغيل التعليمات البرمجية، اكتب dotnet run ثم اضغط على Enter.
إشعار
إذا رأيت رسالة تقول "تعذر العثور على مشروع لتشغيله"، فتأكد من أن موجه الأوامر Terminal يعرض موقع مجلد TestProject المتوقع. على سبيل المثال:
C:\Users\someuser\Desktop\csharpprojects\TestProject>ينبغي أن تشاهد المخرج التالي:
321cba
دمج كافة الأحرف في سلسلة قيمة مفصولة بفواصل جديدة باستخدام Join()
في بعض الحالات، قد تحتاج إلى فصل كل عنصر من عناصر صفيف الأحرف باستخدام فاصلة، وهي ممارسة شائعة عند العمل مع البيانات الممثلة كنص ASCII. للقيام بذلك، يمكنك التعليق خارج سطر التعليمات البرمجية التي أضفتها في الخطوة 2 واستخدام String أسلوب الفئة Join() ، وتمرير الحرف الذي تريد تحديد كل مقطع (الفاصلة) والصفيف نفسه.
تحديث التعليمات البرمجية الخاصة بك في محرر التعليمات البرمجية Visual Studio كما يلي:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result);احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك.
ينبغي أن تشاهد المخرج التالي:
3,2,1,c,b,a
Split() سلسلة القيمة المفصولة بفواصل في صفيف من السلاسل
لإكمال التعليمات البرمجية Split() ، يتم استخدام الأسلوب . تم تصميم هذا الأسلوب للمتغيرات من النوع string وإنشاء صفيف من السلاسل.
استخدم محرر التعليمات البرمجية Visual Studio لإضافة الأسطر التالية من التعليمات البرمجية في أسفل الملف:
string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }خذ دقيقة لمراجعة التعليمات البرمجية السابقة.
يتم توفير الفاصلة إلى
.Split()كمحدد لتقسيم سلسلة طويلة واحدة إلى سلاسل أصغر. ثم تستخدم التعليمات البرمجيةforeachحلقة للتكرار من خلال كل عنصر من عناصر صفيف السلاسل التي تم إنشاؤها حديثا،items.تحقق من ظهور التعليمات البرمجية الآن كما يلي:
string value = "abc123"; char[] valueArray = value.ToCharArray(); Array.Reverse(valueArray); // string result = new string(valueArray); string result = String.Join(",", valueArray); Console.WriteLine(result); string[] items = result.Split(','); foreach (string item in items) { Console.WriteLine(item); }احفظ ملف التعليمات البرمجية، ثم استخدم Visual Studio Code لتشغيل التعليمات البرمجية الخاصة بك.
عند تشغيل التعليمات البرمجية، راجع الإخراج التالي:
3,2,1,c,b,a 3 2 1 c b aitemsيتم استخدام الصفيف الذي تم إنشاؤه باستخدامstring[] items = result.Split(',');في التكرارforeachالحلقي ويعرض الأحرف الفردية من الأصلstringالمضمن فيvalueالمتغير.
خلاصة
فيما يلي بعض النقاط الرئيسية التي يجب تذكرها عند العمل مع السلاسل والصفائف:
- لإنشاء صفيف، استخدم أساليب مثل
ToCharArray()وSplit() - لإعادة الصفيف إلى سلسلة واحدة، استخدم أساليب مثل
Join()، أو أنشئ سلسلة جديدة تمر في صفيفchar