我需要使用for循环C#创建新列表

时间:2017-04-09 06:24:14

标签: c# list for-loop

我正在创建一个程序,将学生及其分数存储在字典列表混合中。例如,

Dictionary<int, List<int>> examGrades = new Dictionary<int, List<int>>();
List<int> name = new List<int>();

是否有使用for循环为新学生创建新列表? 当我在编写代码

Console.WriteLine("What is the student name");
string name = Console.ReadLine();
List<int> name = new List<int>();

在这种情况下,我会收到一个无法创建的错误,因为“name”已经存在。反正有没有解决这个问题?这将是嵌套for循环的内部for循环。外部for循环将通过并将项添加到当前列表。任何帮助,将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

在将项目添加到字典中之前,您必须检查字典是否已包含密钥(在本例中为Student)。

使用ContainsKey的{​​{1}}扩展方法,检查字典中是否已存在学生姓名。

Dictionary

答案 1 :(得分:0)

试试这个:

Dictionary<string, List<int>> examGrades = new Dictionary<int, List<int>>();
for(int i = 0; i < 10; i++)
{
    Console.Write("Student's name: ");
    string name = Console.ReadLine();
    Console.Write("Student's mark (type 0 at the end): ");
    List<int> marks = new List<int>();
    int mark = 0;
    do
    {
        int mark = Convert.ToInt32(Console.ReadLine());
        if(mark == 0)
            break;
        marks.Add(mark);
    } while(true);
    examGrades.Add(name, marks);
}