我有Student.xml
和Lecturer.xml
。当用户创建新学生时,他必须输入姓名,姓氏,然后从我Lecturer.xml
加载的列表中选择讲师。
我如何获得讲座清单:
if(File.Exists(“lecturer.xml”))
{
XElement lecturelist = XElement.Load("lecturer.xml"); Console.WriteLine("Select a lecturer:"); foreach (var mainelement in lecturelist.Elements()) { foreach (var subelement in mainelement.Elements()) { if (subelement.Name == "Name") Console.Write("Lecturer: {0}", subelement.Value); if (subelement.Name == "Surname") Console.Write(", {0}", subelement.Value); if (subelement.Name == "Specialisation") Console.Write(" Subject: {0} \n", subelement.Value); } } Console.ReadLine();
}
否则 { Console.WriteLine(“讲堂文件丢失或损坏......”);
Console.ReadLine();
}
现在这会创建一个讲座列表 例如:
讲师:约翰,金斯利主题:数学
讲师:Ben,Hur主题:英语
如何更改我的代码,以便显示:
1 - 讲师:约翰,金斯利主题:数学
2 - 讲师:Ben,Hur主题:英语
这样用户可以输入1或2来选择讲师吗?
答案 0 :(得分:1)
设置变量,这样如果他们不选择一个变量就不会出错。
Int intLecturerNum = 1;
然后从控制台提取他们的答案。
intLecturerNum = Convert.ToInt(Console.Readline());
因为我不得不这样做了一段时间,而我正在用Yes
或No
做这件事而且还有一点我必须做的事情以便我能得到它对我的变量的正确答案,但这是你提取变量的一般方法。
XElement lecturelist = XElement.Load("lecturer.xml");
Console.WriteLine("Select a lecturer:");
String strProf;
Int i = 1;
foreach (var mainelement in lecturelist.Elements())
{
Console.Write(i.ToString() + " - ");
foreach (var subelement in mainelement.Elements())
{
if (subelement.Name == "Name")
{
Console.Write("Lecturer: {0}", subelement.Value);
}
if (subelement.Name == "Surname")
Console.Write(", {0}", subelement.Value);
if (subelement.Name == "Specialisation")
Console.Write(" Subject: {0} \n", subelement.Value);
i++;
}
}
\\ somewhere after this is where you read in the answer given by the user
您可以创建一个列表,并在打印出来时使用Lecturers填充该列表。
或
你可以创建一个允许你创建Lecturer对象并给它们一个值的类。
或
...