سلاسل. نظرة عامة.

سلسلة هي قائمة (أو تسلسل) من الأحرف بترتيب معين. يتم التعامل مع التسلسل الكامل للأحرف على أنه كائن واحد.

الحرف هو أي شيء يمكنك كتابته على لوحة المفاتيح بضغطة مفتاح واحدة (حرف ، رقم ، عكس شرطة مائلة أو حرف آخر).
يمكن أن تحتوي السلاسل على مسافات: & nbsp؛ "Hello world!".
السلسلة الفارغة هي سلسلة تتكون من 0 حرفًا.
تقبل C sharp كل ما هو مكتوب في علامتي اقتباس كسلاسل ( "" ) ، & nbsp ؛ السلسلة من النوع string .

من المهم أن تتذكر : السلاسل & nbsp؛ في C # غير قابلة للتغيير.

يمكنك كتابة قيمة جديدة لسلسلة باستخدام عامل تشغيل الإدخال:
<قبل> string s = Console.ReadLine ()؛ يمكنك أيضًا تعيين قيمة سلسلة للمتغير ، على سبيل المثال: < / سبان> <قبل> string s = & quot؛ C sharp & quot ؛؛ يمكنك تحديد طول سلسلة مثل: <قبل> int n = s.Length؛


مقارنة السلاسل. يمكن مقارنة السلاسل ببعضها البعض تمامًا مثل الأرقام. يمكنك تحديد أي الخطوط أكبر ، أي أقل.

عند مقارنة السلاسل ، تتم مقارنة رموز الأحرف. هناك العشرات ، إن لم يكن المئات ، من ترميز الأحرف. أسهل طريقة لفهم هذا المفهوم هي فهم أبسطها ، ASCII (يمكنك أن تقرأ عنها & nbsp؛ هنا < / أ>). & نبسب ؛
من الضروري أن نفهم أنه في الترميزات الحديثة يتم ترتيب الحروف الروسية والإنجليزية بالترتيب الأبجدي ، كما تنتقل الأرقام أيضًا من الأصغر إلى الأكبر. & nbsp؛
على سبيل المثال ، في جدول رموز ASCII ، رمز الحرف الإنجليزي & # 39 ؛ A & # 39 ؛ - 65 ، الحروف & # 39 ؛ a & # 39 ؛ - 97 ، رقم & # 39 ؛ 0 & # 39 ؛ يحتوي على رمز 48. توجد الأحرف الروسية في الجزء الممتد من جدول رموز ASCII (الأرقام من 128 إلى 255). تأتي الأحرف الكبيرة قبل (أي تحتوي على رمز أصغر) من الأحرف الصغيرة.
في معظم جداول الترميز المستخدمة ، تكون الأنماط هي نفسها ، والأحرف الصغيرة متأخرة عن الأحرف الكبيرة ، والأرقام أقدم من الأحرف ، والحروف الروسية متأخرة عن الأحرف الإنجليزية.
عند مقارنة الأحرف أو السلاسل ، تقوم C # بتحويل الأحرف إلى القيم الترتيبية الخاصة بكل منها ثم المقارنة من اليسار إلى اليمين. & nbsp ؛

على سبيل المثال: "قاطرة" العلامة & lt؛ "steamboat" ، لأن الكلمات تختلف في الحرف الخامس و "in" العلامة & lt؛ "x".

عند إدخال سلسلة ، يمكنك تقسيمها على الفور إلى أجزاء بواسطة أي فاصل.
لقد فعلنا ذلك من قبل & nbsp ؛ عندما أدخلنا متغيرات رقمية متعددة على نفس السطر. & nbsp ؛ استخدمنا طريقة S plit () لتقسيم سلسلة إلى أجزاء. بشكل افتراضي ، يفصل السلاسل إلى سلاسل فرعية بمسافة.
باستخدام هذه الطريقة ، يمكنك تقسيم السلسلة إلى أجزاء ، على سبيل المثال ، بمسافات. واكتب كل جزء من السلسلة في متغير منفصل.
مثال: <قبل> سلسلة [] S = Console.ReadLine (). Split () ؛ في المثال ، عند إدخال كلمتين مفصولة بمسافة ، يتم تخزين الكلمة الأولى في العنصر صفر من المصفوفة s [0] ، والثانية - في الثانية [1].

إذا كنت تريد استخدام عدة أحرف كفواصل ، فيمكنك تحديدها مفصولة بفواصل:
نبسب ؛ <قبل> string [] S = Console.ReadLine (). Split (جديد [] {& # 39؛ & # 39 ؛، & # 39؛ \ n & # 39؛})؛ & nbsp ؛ إذا كان من الممكن أن يكون هناك عدة مسافات متتالية في سلسلة الإدخال ، فيمكن أن تظهر مسافات أيضًا في المصفوفة النهائية ، لاستبعاد ذلك ، تحتاج إلى إضافة معلمة: <قبل> string [] S = Console.ReadLine (). Split (new [] {& # 39؛ & # 39 ؛، & # 39؛ \ n & # 39؛}، StringSplitOptions.RemoveEmptyEntries)؛ إذا كنت بحاجة إلى استخدام محددات السلسلة الفرعية: <قبل> string [] S = Console.ReadLine (). Split (جديد [] {"\\ r \\ n"، "\ r"، "\ n"، ""}، StringSplitOptions.RemoveEmptyEntries)؛

يمكن إضافة السلاسل معًا باستخدام علامة "+". تسمى هذه العملية تسلسل السلسلة أو التسلسل . & nbsp؛
على سبيل المثال ، <قبل> سلسلة s = "مرحبًا ،" ؛ سلسلة s1 = "العالم" ؛ Console.WriteLine (s + s1) ؛ ستعرض الشاشة عبارة & quot؛ Hello world & quot؛ (بدون اقتباسات).
نبسب ؛

الإشارة إلى فهارس الصفوف يحتوي كل حرف في السلسلة على رقم (يُطلق عليه & nbsp ؛ index ) ، وتبدأ الفهرسة في لغة البرمجة C # من الصفر. أي أن الحرف الأول له فهرس 0 ، والثاني - 1 ، وهكذا.
يمكن الوصول إلى أحرف السلسلة بواسطة الفهارس ، والتي يشار إليها بين قوسين مربعين & nbsp؛ s [i] .
نبسب ؛
مثال & nbsp؛
<الجسم>
String S H e l l o
الفهرس S [0] S [1] S [2] S [3] S [4]

هام!
عند الوصول إلى عنصر سلسلة في الفهرس i ، فإن النوع s [i] ليس سلسلة ولكنه char . هذا يعني أن هذه ليست سلسلة ، بل هي حرف يتوافق مع عدد صحيح في جدول رمز الأحرف. على وجه الخصوص ، عند إضافة عنصرين من النوع char & nbsp؛ ، تحصل على عدد صحيح - إضافة أكواد هذه العناصر. ومع ذلك ، إذا قمت بعرض s [i] ، فسيتم عرض الحرف رقم i من السلسلة ، وليس الرقم المقابل له. & nbsp؛

نظرًا لأنه يمكن الوصول إلى حرف عن طريق الفهرس ، يمكن استخدام حلقة متغيرة للتكرار على جميع الأحرف ، والتي ستأخذ قيم الفهرس الممكنة. على سبيل المثال ، سيبدو البرنامج الذي يعرض جميع رموز الأحرف للسلسلة s بالشكل التالي: <قبل> لـ (int i = 0؛ i & lt؛ s.Length؛ i ++) { نبسب ؛ Console.WriteLine (s [i]) ؛ Console.WriteLine (Convert.ToInt32 (s [i])) ؛ } ملاحظات البرنامج:
1) s.Length & nbsp؛ يعثر على طول سلسلة. فهرس الحرف الأول هو 0 وفهرس الأخير هو s.Length-1 . سيأخذ متغير الحلقة i القيم بالتسلسل من 0 إلى & nbsp؛
s.Length -1 ؛
2) في كل سطر ، سيتم عرض الرمز نفسه أولاً ، ثم رمزه ، والذي يمكن الحصول عليه من خلال طريقة & nbsp؛ Convert.ToInt32 () ؛

يمكن كتابة نفس التعداد بشكل أقصر:


foreach (char c in s)
{& nbsp؛
نبسب ؛ نبسب ؛ ونبسب ؛ وحدة التحكم.WriteLine (ج) ؛
نبسب ؛ نبسب ؛ على & nbsp؛ Console.WriteLine (Convert.ToInt32 (c)) ؛
}
<قبل> في هذا المقتطف ، تدور رأس الحلقة عبر جميع s الأحرف ، مع وضع واحدًا تلو الآخر في المتغير c . خصوصية C # عند العمل مع السلاسل هي أن السلاسل كائنات غير قابلة للتغيير. بمعنى آخر ، لا يمكننا تغيير الأحرف الفردية لسلسلة.
على سبيل المثال ، لن تعمل العبارة التالية:
<قبل> s [5] = " & quot ؛؛