当我检查文本框是否等于1时,我想检查列表是否已包含特定值。当我运行它时,总会转到else代码。我究竟做错了什么?
List<int> list = new List<int>();
if (Convert.ToInt32(DobbelWaarde.Text) == 1)
{
if (list.Contains(1))
{
Console.WriteLine("1 is allready been chosen");
}
else
{
list.Add(1);
Console.WriteLine();
foreach (int li in list)
{
Console.WriteLine(li);
Console.WriteLine("We add 1");
}
}
}
Run Code Online (Sandbox Code Playgroud)
第一行初始化一个空列表:
List<int> list = new List<int>();
Run Code Online (Sandbox Code Playgroud)
该列表为空,因此无论您检查的值是什么,Contains()都将返回false。
要初始化列表,您可以使用:
List<int> list = new List<int> { 1 };
Run Code Online (Sandbox Code Playgroud)
此处有更多详细信息: 对象和集合初始化程序(C#编程指南)