如何继续将int添加到列表中,同时查看这些int是否已经在列表中?

wou*_*ter 1 .net c# for-loop list

我想列出用户输入的内容.但是当这个列表已经有用户填写的int时,它必须给出一个error(Console.Writeline).这是我到目前为止:

List<int> list = new List<int>();

//this code is in a for-loop 
string a = console.ReadLine();
if(!int.TryParse(a, out number))
   Console.WriteLine("give a number");
else
{
    if (number < anotherlist.Count && number >= 0)
    {
        for (int i = 0; i < list.Count; i++)
        {
            if (list[i] == number)
                Console.WriteLine("number already given");//so dont add this number to the list
            else
                list.Add(number);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ham*_*jam 6

您可以使用HashSet.HashSet针对存储值集进行了优化.

var ints = new HashSet<int>(); // creating HashSet

ints.Add(1); // adding items to HashSet

if (ints.Contains(1)) // check if HashSet already has the value
{
    Console.WriteLine("number already exist");
}

if (!ints.Add(1)) // check if the added value already exists
{
    Console.WriteLine("number already exist");
}

var list = ints.ToList(); //converting HashSet to List
Run Code Online (Sandbox Code Playgroud)