【发布时间】:2020-07-28 11:53:34
【问题描述】:
我正在尝试编写一个程序,让我将名称列表及其各自的电影评级输入到数组中(会做一个列表,但课程材料希望我使用数组)。在将名称添加到数组之前,我想确保输入了有效的评级。
我目前正在使用一个循环遍历数组长度并让用户以这种方式将每部电影输入到列表中的 for 语句。这发生在 while 循环中,如果在将名称提交给 Array 之前评级无效,则使他们重新输入名称。我通过调用一个带有当前输入名称和评级的临时字符串的方法来检查名称,该方法将执行一些条件检查并根据结果返回 false 或 true。但是我这样做的方式根本不起作用..
问题是我不知道如何实际使用我的方法返回的 bool 语句:
string[] filmNames = new string[ArrayLength];
for (int i = 0; i < filmNames.Length; i = i + 1)
{
bool ratingFail = true;
int displayNumber = i + 1;
while (ratingFail)
{
Console.Write($"> Enter the Name and Rating of film number {displayNumber} of {ArrayLength}: ");
string checkRating = Console.ReadLine();
CheckRating(checkRating); // currently just does "return false;" for testing purposes
if (true) // this statement is clearly not effected by whatever the return value is from above method. Why? What to do?
{
ratingFail = true;
}
else
{
filmNames[i] = checkRating; // this bit is marked as unreachable, which is is.
ratingFail = false;
}
}
}
我的测试方法:
public static bool CheckRating(string checkRating)
{
return false;
}
我对编程和 C# 非常陌生(一周),所以在回答时请记住,我可能不理解特定的术语,这些术语指的是您在此处可以看到的范围之外的编程术语,但我会在 Google 和如果无法简化您想说的话,请尽我所能进行研究。感谢您的时间和精力。
【问题讨论】:
-
你没有测试 CheckRating() 的返回值。
标签: c# return-value