【发布时间】:2014-01-10 09:55:20
【问题描述】:
我正在尝试使用 while 循环搜索数组,使用用户搜索输入,此时我已将一个单词电影标题列出到标准文本文件中,然后 while 循环继续搜索文件直到它找到了,然后在控制台上输出了。。但是我有个问题,操作符“==”不能应用于字符串变量?我将如何解决这个问题?非常感谢!圣诞快乐,这是我的代码:
//Declare variables
int iOneWordTitle= 0;
string sSearch;
//Declare array
const int iFilm = 7;
string[] sOneWordTitle = new string[iFilm];
//Add heading to console
Console.WriteLine("List of one word film titles");
Console.WriteLine();
//ask user what they want to search for
Console.WriteLine("What film would you like to search for?");
sSearch = Console.ReadLine();
//Read the film names from the datafile
using (StreamReader sr = new StreamReader("filmnames.txt"))
{
while (iOneWordTitle < iFilm)
{
sOneWordTitle[iOneWordTitle] = (sr.ReadLine());
iOneWordTitle++;
if (sSearch == sOneWordTitle)
{
Console.WriteLine(sSearch + " was found at position " + iOneWordTitle);
}
else
{
Console.WriteLine("The film was not found");
}
}
}
【问题讨论】:
-
if (sSearch == sOneWordTitle)将字符串与字符串 [] 进行比较。你可能想弄清楚你真正想在那里比较的东西。 -
我想要这样,如果搜索到的就是电影,那么就输出到控制台上
-
通过这样做,您将字符串与数组对象进行比较,而不是数组中包含的字符串。
标签: c# arrays while-loop console