Я не понимаю «новую строку» и [я] здесь - PullRequest
0 голосов
/ 17 марта 2020

Так что я не понимаю «новую строку» здесь. Я пытался прочитать это, но я не смог найти конкретные ответы, которые просты для понимания. В чем разница между строкой и новой строкой?

 public class MainClass {
      public static void Main (string[] args) {

      Console.Write("\nInput number of students: ");
      var totalstudents = int.Parse(Console.ReadLine());

        var name = new string [totalstudents];
        var grade = new int [totalstudents]; 

Моя программа не будет скомпилирована и стала иметь неожиданные символы 'name' и 'grade', которые, я думаю, могут быть связаны с [i], которые я тоже не знаю ' Т понять.

  for (int i =0 ; i<totalstudents ; i++)
        {
         Console.WriteLine("\nInput student name: ")
          name[i] = Console.ReadLine(); 
         Console.WriteLine("\nInput student grade: ")
          grade[i] = int.parse(Console.ReadLine());
        }

  foreach(var gradesof in grade)
   { 
    Console.WriteLine(gradesof);
   }

  }
}

}

Ответы [ 2 ]

2 голосов
/ 17 марта 2020

string - это строка. string[] - это массив строк, то есть объект, состоящий из индексируемых строковых элементов.

string s = "hello"; // Declares and initializes a string.

string[] a = new string[3]; // Declares and initializes a string array of length 3.
                            // Every element of the array is `null` so far.

// Fill the array with meaningful values.
a[0] = "hello";
a[1] = "world";
a[2] = "!";

Вы также можете использовать инициализатор массива для получения того же результата:

string[] a = new string[] { "hello", "world", "!" };

Вы может получить один элемент, подобный этому:

string world = a[1];

L oop через массив с for:

for (int i = 0; i < a.Length; i++) {
    Console.WriteLine($"a[{i}] = \"{a[i]}\"");
}

Массив может быть любого типа, например grade массив в вашем примере имеет тип int[].

См .: Массивы (C# Руководство по программированию)

1 голос
/ 17 марта 2020

Как уже упоминалось в комментариях, new string[...] создает массив.

Ваши проблемы с компиляцией включают ...

Строки:

Console.WriteLine("\nInput student name: ")
Console.WriteLine("\nInput student grade: ")

… оба пропускают точку с запятой ; в конце

Также:

grade[i] = int.parse(Console.ReadLine());

… парсинг должен быть Parse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...