Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Các ví dụ tốt về mảng (Array) trong C#

Mảng lưu trữ tập hợp dữ liệu, các vị trí bộ nhớ liên tiếp.

Tìm phần tử chung trong 3 mảng đã sắp xếp

using System;

class Demo {
    static void commonElements(int[] one, int[] two, int[] three) {
        int i = 0, j = 0, k = 0;
        while (i < one.Length && j < two.Length && k < three.Length) {
            if (one[i] == two[j] && two[j] == three[k]) {
                Console.Write(one[i] + " ");
                i++; j++; k++;
            } else if (one[i] < two[j]) i++;
            else if (two[j] < three[k]) j++;
            else k++;
        }
    }
    public static void Main() {
        int[] one = {20, 35, 57, 70};
        int[] two = {9, 35, 57, 70, 92};
        int[] three = {25, 35, 55, 57, 67, 70};
        Console.Write("Phần tử chung: ");
        commonElements(one, two, three);
    }
}

Tạo mảng động (Dynamic Arrays) với ArrayList

using System;
using System.Collections;

namespace CollectionApplication {
    class Program {
        static void Main(string[] args) {
            ArrayList al = new ArrayList();
            al.Add(99);
            al.Add(47);
            al.Add(64);
            Console.WriteLine("Count: {0}", al.Count);
            Console.Write("List: ");
            foreach (int i in al) Console.Write(i + " ");
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}

Làm việc với mảng răng cưa (Jagged Arrays)

using System;

namespace ArrayApplication {
    class MyArray {
        static void Main(string[] args) {
            int[][] points = new int[][]{
                new int[]{10,5},
                new int[]{30,40},
                new int[]{70,80},
                new int[]{60,70}
            };
            int i, j;
            for (i = 0; i < 3; i++) {
                for (j = 0; j < 2; j++) {
                    Console.WriteLine("a[{0}][{1}] = {2}", i, j, points[i][j]);
                }
            }
            int x = points[0][1];
            Console.WriteLine(x);
            Console.ReadKey();
        }
    }
}