#c# #list
Вопрос:
Мой приведенный ниже код выводит «имя пользователя не найдено» для каждого индекса в name
списке, однако я хочу, чтобы оно печаталось только один раз, если оно не находит имя пользователя во всем списке (без использования LINQ).
В чем проблема?
using System;
using System.Collections.Generic;
namespace exercise_74
{
class Program
{
public static void Main(string[] args)
{
List<string> name = new List<string>();
while (true)
{
string input = Console.ReadLine();
if (input == "")
{
break;
}
name.Add(input);
}
Console.WriteLine("who are u looking for ");
string username = Console.ReadLine();
int a = 0;
while (a < name.Count)
{
if (name[a] == username)
{
Console.WriteLine(username " was found");
}
else
{
Console.WriteLine(username " was not found");
}
a ;
}
}
}
}
Комментарии:
1. Вам не нужен этот
else
пункт. Если вы прошли весь цикл и не нашли имя пользователя, вы можете напечатать, что оно не было найдено.
Ответ №1:
var found = false;
while(a < name.Count)
{
if(name[a] == username )
{
Console.WriteLine(username " was found");
found = true;
break;
}
a ;
}
if(!found)
Console.WriteLine(username " was not found");
Писать по телефону, так что, возможно, это не идеальное образование.