البرمجة

كيفية عرض رقم السطر في C#؟

بناءً على الشيفرة التي قدمتها، يبدو أنك تواجه صعوبة في الحصول على رقم السطر في الملف الذي تقوم بقراءته وعرضه في MessageBox عندما تجد سطرًا يحتوي على “()”، وترغب في معرفة كيف يمكن القيام بذلك.

بالنظر إلى الكود المقدم، لا يتم تتبع رقم السطر أثناء الفحص. ومع ذلك، يمكنك تحقيق هذا الهدف بسهولة عن طريق إضافة متغير يتبع رقم السطر أثناء الفحص داخل حلقة الـ foreach. يمكنك استخدام متغير لتحديد رقم السطر وزيادته بشكل تدريجي كلما تم قراءة سطر جديد.

إليك كيف يمكن تحقيق ذلك في الشيفرة:

csharp
var lines = File.ReadLines(fileNameData, Encoding.Default); int lineIndex = 0; // تهيئة متغير لتتبع رقم السطر foreach (string line in lines) { lineIndex++; // زيادة رقم السطر بمقدار واحد عند قراءة كل سطر if (line.Contains("()")) { MessageBox.Show("Line " + lineIndex + ": " + line); // عرض رقم السطر مع محتواه } }

بهذا التغيير، سيتم عرض رقم السطر بجانب محتواه في MessageBox عندما يتم العثور على السطر الذي يحتوي على “()”. هذا يسمح لك بمعرفة السطر الدقيق الذي يتم العثور عليه.

المزيد من المعلومات

بالطبع، سأكمل المقال بشرح إضافي للموضوع.

عند استخدام الكود الذي تم تقديمه، يبدو أن المطور يتعامل مع مشكلة معينة في تحديد رقم السطر الذي يتم عرضه في MessageBox عندما يتم العثور على السطر الذي يحتوي على “()”. لكن لنفهم أكثر حول هذه المشكلة وكيف يمكن حلها بشكل فعال.

عند قراءة الملف باستخدام File.ReadLines()، يتم تحميل الأسطر واحدة تلو الأخرى دون الحاجة إلى تخزينها في الذاكرة بأكملها، وهذا مهم للحفاظ على كفاءة الذاكرة خاصة مع ملفات كبيرة. لكن هذا يعني أنه لا يمكننا الوصول إلى رقم السطر بسهولة ولاستخدامه في MessageBox.

الحل الذي تم تقديمه يتضمن إضافة متغير يتبع رقم السطر (lineIndex) وزيادته بشكل تدريجي كلما تم قراءة سطر جديد. ومن ثم يمكن استخدام هذا المتغير لعرض رقم السطر في MessageBox مع محتواه.

من الجيد أيضًا التأكد من فهم عمل الكود وما يقوم به كل سطر. فعلى سبيل المثال، الدالة line.Contains("()") تبحث عن وجود النص “()” في السطر. وإذا وجدته، فإنه يتم عرض هذا السطر في MessageBox. ومع إضافة رقم السطر الذي تم قراءته في MessageBox، يمكن للمطور أن يعرف بدقة أي سطر تم العثور عليه.

عمومًا، بإضافة هذه الخطوة البسيطة، يمكن للمطور الآن التحكم بشكل أفضل في كيفية عرض رقم السطر المرتبط بالنص في ملفه، مما يسهل عليه فهم ومعالجة البيانات بشكل أكثر دقة وفعالية.

وبهذا، يتم تحقيق الهدف من الشيفرة والحصول على النتائج المرجوة بطريقة فعالة ومنظمة.

زر الذهاب إلى الأعلى