【发布时间】:2021-07-27 20:16:45
【问题描述】:
我正在为我的学校使用 C# 编写代码。在编程方面我是菜鸟,这是我的第一门编程课程。
我正在制作一个带有 menuchoices 的程序,其目标是能够将字符串标题和正文保存在两个向量中。然后您可以选择搜索标题,如果您的搜索与现有标题匹配,则标题和正文将显示在屏幕上。然后您还可以在另一个菜单选项中查找所有已保存的标题和正文。
我被困在案例 2:我是否需要创建一个搜索引擎才能在 bloggInlägg[0] 中找到标题,并且当我的搜索匹配时 bloggInlägg0 和 bloggInlägg1 应该出现在程序中。
一切都是用瑞典语写的,但是
- menuchoice 1:是添加标题和正文,
- menuchoice 2 是搜索标题,然后显示标题和正文,
- menuchoice 3 是显示我所有已经制作的标题和正文,并且
- menuchoice 4 是停止程序。
这是我的代码:
static void Main(string[] args)
{
bool kör = true;
List<string[]> bloggen = new List<string[]>();
while (kör)
{
Console.WriteLine("[1] Lägg till ett nytt inlägg i bloggen:");
Console.WriteLine("[2] Sök inlägg i bloggen: ");
Console.WriteLine("[3] Skriv ut alla blogginlägg: ");
Console.WriteLine("[4] Avsluta programmet: ");
string[] bloggInlägg = new string[2];
int menyVal;
int.TryParse(Console.ReadLine(), out menyVal);
switch (menyVal)
{
case 1:
Console.WriteLine("Välj titel till inlägget: ");
bloggInlägg[0] = Console.ReadLine();
Console.WriteLine("Nu kan du skriva ditt inlägg: ");
bloggInlägg[1] = Console.ReadLine();
bloggen.Add(bloggInlägg);
break;
case 2:
Console.WriteLine("Ange titel på inlägget du söker: ");
string searchWord = Console.ReadLine();
bool hittad = false;
for (int i = 0; i < bloggInlägg.Length; i++)
{
if (bloggInlägg[0] == searchWord) // om man ordet man söker efter matchar
{
hittad = true;
Console.WriteLine("Din sökning hittades: " + bloggInlägg[0]);
}
}
if (hittad == false) // om man ordet man söker efter inte matchar
{
Console.WriteLine("Din sökning hittades inte");
}
break;
case 3:
Console.WriteLine("Här är en lista på alla blogginlägg du sparat: ");
foreach (var item in bloggen)
{
Console.WriteLine(item[0] + " " + item[1]);
}
break;
case 4:
Console.WriteLine("Hejdå");
Console.ReadLine();
kör = false;
break;
}
}
}
【问题讨论】:
-
for (int i = 0; i < bloggInlägg.Length; i++)您正在遍历错误的集合。您想在bloggen[i][0]中查找标题,并在点击显示中与bloggen[i][1]一起查看。 -
另外:您需要准确地输入标题才能找到它。您可能需要考虑使用
string.Substring或string.Contains。