Как распечатать массивы? - PullRequest
0 голосов
/ 13 февраля 2020

У меня проблемы с этим шагом для моего задания. Вот назначение:

Добавьте код для загрузки поля со списком с первым элементом в каждой строке массива прямоугольника angular и отобразите первый элемент в поле со списком, когда форма загружена ,

Это данный массив:

 string[,] conversionTable = {
        { "Miles to kilometers", "Miles", "Kilometers", "1.6093" },
        { "Kilometers to miles", "Kilometers", "Miles", "0.6214" },
        { "Feet to meters", "Feet", "Meters", "0.3048" },
        { "Meters to feet", "Meters", "Feet", "3.2808" },
        { "Inches to centimeters", "Inches", "Centimeters", "2.54" },
        { "Centimeters to inches", "Centimeters", "Inches", "0.3937" }

Я использую эту картинку, чтобы помочь мне:

SOQ60199177

Если Я использую это изображение, будут ли цифры через 0, 1, 2, 3, а числа на стороне будут 0, 1, 2, 3, 4, 5? Поскольку вы начинаете считать с 0, а размер массива равен 4X6?

Ответы [ 3 ]

1 голос
/ 13 февраля 2020

Всегда можно перебирать любые 2-мерные массивы, используя вложенные циклы for. Думайте об этом как о таблице со строками и столбцами, где первая для l oop выбирает строку, а вторая для l oop выбирает столбец.

Когда вы выбрали столбец, просто выполните функцию, которую вы будете sh, в данном случае Console.WriteLine(column[j]), где column[j] - это столбец, который вы хотите вывести на консоль, или где бы вы ни захотели для вывода результата.

string[,] conversionTable = {
        { "Miles to kilometers", "Miles", "Kilometers", "1.6093" },
        { "Kilometers to miles", "Kilometers", "Miles", "0.6214" },
        { "Feet to meters", "Feet", "Meters", "0.3048" },
        { "Meters to feet", "Meters", "Feet", "3.2808" },
        { "Inches to centimeters", "Inches", "Centimeters", "2.54" },
        { "Centimeters to inches", "Centimeters", "Inches", "0.3937" }
    };

for(int i = 0; i < conversionTable.Length; i++){
    for(int j = 0; j < conversionTable.Length; j++){
        Console.WriteLine(conversionTable[i][j]);
    }
}

Возможно, вы захотите использовать класс со свойствами и скорее использовать List<ConversionTable>, но это не то назначение, которое я предполагаю.

0 голосов
/ 13 февраля 2020

Вы, вероятно, хотите сделать что-то вроде этого:

    private static void TestArray()
    {
        string[,] conversionTable = {
            { "Miles to kilometers", "Miles", "Kilometers", "1.6093" },
            { "Kilometers to miles", "Kilometers", "Miles", "0.6214" },
            { "Feet to meters", "Feet", "Meters", "0.3048" },
            { "Meters to feet", "Meters", "Feet", "3.2808" },
            { "Inches to centimeters", "Inches", "Centimeters", "2.54" },
            { "Centimeters to inches", "Centimeters", "Inches", "0.3937" }
        };

        //This loop for filling ComboBox
        for(int i = 0; i < conversionTable.GetLength(0); i++)
        {
            var v = conversionTable[i,0];
            Console.WriteLine(v); //Fill ComboBox
        }

        var selectedIndex = 2; //"Feet to meters"

        Console.WriteLine();
        Console.WriteLine();

        //This loop for displaying values for the selected 
        //... conversion method from the ComboBox
        for(int i = 1; i < conversionTable.GetLength(1); i++)
        {
            Console.WriteLine(conversionTable[selectedIndex,i]);
        }
    }

Для краткости я объединил оба шага в одном методе. Первый for l oop будет использоваться для заполнения ComboBox с использованием Add вместо Console.WriteLine. Переменная selectedIndex представляет индекс элемента, выбранного в ComboBox. Используйте это значение, чтобы получить Array строк, которые вы хотите отобразить в другом месте. Обратите внимание, что вторая for l oop начинается с индекса 1 вместо 0, так как я предполагаю, что вам не нужно отображать то же значение, которое вы только что выбрали из ComboBox.

0 голосов
/ 13 февраля 2020

Думайте об этом как о массиве массивов. Это может помочь. Если вы сделаете это, вы увидите, что conversionTable имеет шесть элементов, которые сами являются массивами. Первый индекс будет выбирать, какой «подмассив». Затем второй индекс выберет элемент в этом «массиве».

...