English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
نظام الأسنان هو نظام من الأنظمة. نظام الأسنان يخزن الأنظمة وليس القيم المكتوبة.
يتم تثبيت نظام الأسنان باستخدام زوجين من الدوائر [] []، الدائرة الأولى تحدد حجم النظام، الدائرة الثانية تحدد حجم الأنظمة التي سيتم تخزينها.
في هذا المثال، يتم إعلان نظام الأسنان.
int[][] jArray1 = new int[2][]; // يمكن أن يحتوي على أقصى عدد من اثنين من الأنظمة الواحدة int[][,] jArray2 = new int[3][,]; // يمكن أن يحتوي على ثلاثة أنظمة مرتبطة
في هذا المثال، يمكن لتجميع jArray1 تخزين أقصى عدد من اثنين من الأنظمة الواحدة.
int[][] jArray = new int[2][]; jArray[0] = new int[3]{1, 2, 3}; jArray[1] = new int[4]{4, 5, 6, 7};
يمكنك أيضًا تعريف متجه البتات عند التسمية، مثلما يلي.
int[][] jArray = new int[2][]{ new int[3]{1, 2, 3}, new int[4]{4, 5, 6, 7} }; jArray[0][0]; //يعود 1 jArray[0][1]; //يعود 2 jArray[0][2]; //يعود 3 jArray[1][0]; //يعود 4 jArray[1][1]; //يعود 5 jArray[1][2]; //يعود 6 jArray[1][3]; //يعود 7
يمكنك استخدام حلقتين for لاستكشاف متجه البتات، مثلما يلي.
int[][] jArray = new int[2][]{ new int[3]{1, 2, 3}, new int[4]{4, 5, 6, 7} }; for(int i=0; i<jArray.Length; i++) { for(int j=0; j < (jArray[i]).Length; j++) Console.WriteLine(jArray[i][j]); }
السلسلة المتجهة التالية تحوي مصفوفات ثنائية، حيث يمثل البتات الثاني مصفوفة ثنائية.
int[][,] jArray = new int[2][,]; jArray[0] = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } }; jArray[1] = new int[2, 2] { { 7, 8 }, { 9, 10 } }; jArray[0][1, 1]; //يعود 4 jArray[1][1, 0]; //يعود 9 jArray[1][1, 1]; //يعود 10
إذا أضفتي زاوية أخرى، فإنها تصبح مصفوفة مصفوفات.
int[][][] intJaggedArray = new int[2][][] { new int[2][] { new int[3] { 1, 2, 3}, new int[2] { 4, 5} }, new int[1][] { new int[3] { 7, 8, 9} } }; Console.WriteLine(intJaggedArray[0][0][0]); // 1 Console.WriteLine(intJaggedArray[0][1][1]); // 5 Console.WriteLine(intJaggedArray[1][0][2]); // 9
في مثال الماتريس المتشابكة أعلاه، ثلاثة أقواس مربعة [][][] تشير إلى ماتريس داخل ماتريس. لذلك، intJaggedArray سيكون يحتوي على عناصرين، مما يعني مجموعتين. الآن، يحتوي كل مجموعة على ماتريس (ماتريس أحادية الأبعاد). يشير intJaggedArray[0][0][0] إلى العنصر الأول في الماتريس الداخلية الأولى. يشير intJaggedArray[1][0][2] إلى العنصر الثالث في الماتريس الداخلية الثانية. يوضح الشكل أدناه ذلك.