C#如何继续搜索我列表中的项目,而不是在一次搜索后关闭应用程序
谢谢你的帮助,我是一个全新的编程新手,我尝试过谷歌,但找不到答案 我正在寻找的是一种方法,让我可以继续搜索列表中的项目,而不必在一次搜索后关闭它。非常感谢你 我尝试过的代码是:C#如何继续搜索我列表中的项目,而不是在一次搜索后关闭应用程序,c#,C#,谢谢你的帮助,我是一个全新的编程新手,我尝试过谷歌,但找不到答案 我正在寻找的是一种方法,让我可以继续搜索列表中的项目,而不必在一次搜索后关闭它。非常感谢你 我尝试过的代码是: static void Main(string[] args) { string appName = "Fruitsalad Jens"; string appVersion = "1.0.0"; string appAuthor = "Jens Jonassen
static void Main(string[] args)
{
string appName = "Fruitsalad Jens";
string appVersion = "1.0.0";
string appAuthor = "Jens Jonassen";
// Farge
Console.ForegroundColor = ConsoleColor.Green;
// Versjon
Console.WriteLine("{0} Versjon {1} by {2}", appName, appVersion, appAuthor);
// Tilbakestill Fargen
Console.ResetColor();
// Velkomst
Console.WriteLine("Hello, who are you?");
string navn = Console.ReadLine();
Console.WriteLine("Welcome to fruit finder {0}! Which fruit do you need to find?", navn);
{
string sSearch;
List<Frukter> listFrukter = new List<Frukter>();
listFrukter.Add(new Frukter());
listFrukter[0].Navn = "Orange";
listFrukter[0].Pris = 32.5;
listFrukter.Add(new Frukter());
listFrukter[1].Navn = "Apple";
listFrukter[1].Pris = 23;
listFrukter.Add(new Frukter());
listFrukter[2].Navn = "Grapes";
listFrukter[2].Pris = 18.90;
listFrukter.Add(new Frukter());
listFrukter[3].Navn = "Mango";
listFrukter[3].Pris = 48;
sSearch = Console.ReadLine();
for (int iCount = 0; iCount < listFrukter.Count; iCount++)
{
if (listFrukter[iCount].Navn.Equals(sSearch))
{
Console.WriteLine("Found it!");
Console.WriteLine(listFrukter[iCount].getData());
}
}
Console.ReadLine();
static void Main(字符串[]args)
{
字符串appName=“frutsalad Jens”;
字符串appVersion=“1.0.0”;
字符串appAuthor=“Jens Jonassen”;
//法基
Console.ForegroundColor=ConsoleColor.Green;
//维斯琼
WriteLine({0}Versjon{1}by{2}),appName,appVersion,appAuthor);
//蒂尔巴克斯特法根
Console.ResetColor();
//维尔康斯特
WriteLine(“你好,你是谁?”);
字符串navn=Console.ReadLine();
WriteLine(“欢迎使用水果查找程序{0}!您需要查找哪种水果?”,navn);
{
字符串搜索;
List listFrukter=新列表();
Add(new Frukter());
listFrukter[0].Navn=“橙色”;
listFrukter[0].Pris=32.5;
Add(new Frukter());
listFrukter[1].Navn=“苹果”;
listFrukter[1].Pris=23;
Add(new Frukter());
listFrukter[2].Navn=“Grapes”;
listFrukter[2].Pris=18.90;
Add(new Frukter());
listFrukter[3].Navn=“Mango”;
listFrukter[3].Pris=48;
sSearch=Console.ReadLine();
对于(int-iCount=0;iCount
将Console.Readline()移动到while循环中。找到项目后,从内部for循环中断
Console.WriteLine("Press ESC to stop");
while (!(Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape))
{
sSearch = Console.ReadLine();
for(int iCount = 0; iCount < listFrukter.Count; iCount++)
{
if (listFrukter[iCount].Navn.Equals(sSearch))
{
Console.WriteLine("Found it!");
Console.WriteLine(listFrukter[iCount].getData());
break;
}
}
}
Console.WriteLine(“按ESC键停止”);
while(!(Console.KeyAvailable&&Console.ReadKey(true.Key==ConsoleKey.Escape))
{
sSearch=Console.ReadLine();
对于(int-iCount=0;iCount
我想您正在寻找一个。此构造采用布尔表达式,并在表达式返回true
时重复执行其体中的代码
例如,以下代码会将数字0到9打印到控制台:
inti=0;
而(i<10)
{
控制台写入线(i);
i=i+1;
}
小心循环,因为如果条件的计算结果永远不会为false
,循环将永远继续。在本例中,如果我们删除i=i+1;
,循环将永远不会终止,因为i
将始终为0
在您的情况下,您可能只想使用
while(true)
,因为您想无限期地重复搜索。从读取用户输入到打印响应的所有内容都应该是while正文的一部分。添加while
循环:当用户想要继续搜索时,请执行以下操作:
...
// keep on looping (infinite loop)...
while (true) {
Console.WriteLine("Welcome to fruit finder {0}! Which fruit do you need to find? Q for quit", navn);
sSearch = Console.ReadLine().Trim();
// ... until user enters "q" for quit
if (string.Equals(sSearch, "Q", StringComparison.OrdinalIgnoreCase))
break;
for (int iCount = 0; iCount < listFrukter.Count; iCount++)
{
if (listFrukter[iCount].Navn.Equals(sSearch))
{
Console.WriteLine("Found it!");
Console.WriteLine(listFrukter[iCount].getData());
}
}
Console.ReadLine();
}
...
。。。
//继续循环(无限循环)。。。
while(true){
WriteLine(“欢迎使用水果查找程序{0}!您需要查找哪种水果?Q表示退出”,navn);
sSearch=Console.ReadLine().Trim();
//…直到用户输入“q”退出
if(string.Equals(sSearch,“Q”,StringComparison.OrdinalIgnoreCase))
打破
对于(int-iCount=0;iCount
编辑:相同的想法(循环)在不同的实施中(见Pol Vilarrasa下面的评论):
//如果用户想再次搜索,请多次循环
做{
WriteLine(“欢迎使用水果查找程序{0}!您需要查找哪种水果?”,navn);
sSearch=Console.ReadLine().Trim();
对于(int-iCount=0;iCount
我没有任何示例代码,但这是一个典型的编程练习示例
如果我理解正确,您希望在第一次搜索后继续搜索其他水果
您需要添加一个循环,以便在完成搜索后返回以再次检查输入,如下所示:
sSearch = Console.ReadLine();
while (sSearch != "exit")
{
for (int iCount = 0; iCount < listFrukter.Count; iCount++)
{
if (listFrukter[iCount].Navn.Equals(sSearch))
{
Console.WriteLine("Found it!");
Console.WriteLine(listFrukter[iCount].getData());
}
}
sSearch = Console.ReadLine();
}
sSearch=Console.ReadLine();
while(搜索!=“退出”)
{
对于(int-iCount=0;iCount
您可能想看看“while循环”或“do-while循环”。它们循环(或重复)一段代码,直到满足特定条件。“while循环”将在执行任何操作之前检查条件。“do-while循环”将
sSearch = Console.ReadLine();
while (sSearch != "exit")
{
for (int iCount = 0; iCount < listFrukter.Count; iCount++)
{
if (listFrukter[iCount].Navn.Equals(sSearch))
{
Console.WriteLine("Found it!");
Console.WriteLine(listFrukter[iCount].getData());
}
}
sSearch = Console.ReadLine();
}