我正在使用List<T>
数组来存储我从数据库文件中读取的所有ID。
可以说我有ID:5,8,15
我要做的是检查用户输入是否与此数组中的某个元素匹配。
我该怎么做?
我尝试过使用Contains或Find,但我无法让它工作。
似乎没有炒过的代码。仅当我输入一个字母(?)时,它才会显示Entry ID doesn't exist!
。
List<int> fetchedEntries = new List<int>();
else if (!fetchedEntries.Contains(intNumber))
{
lblMessage.Text = "Entry ID doesn't exist!";
lblMessage.ForeColor = Color.IndianRed;
btnDeleteEntry.Enabled = false;
}
答案 0 :(得分:17)
最简单的方法是使用Contains
方法
List<int> theList = GetListFromDatabase();
if (theList.Contains(theNumber)) {
// It's in the list
}
你的Q说这不适合你。你能提供更多信息吗?上面的模式应该可以正常工作
答案 1 :(得分:1)
您是否有一个具有ID或ID的对象?
如果它只是ID,Contains()
应该有用。既然你说它没有,请发布你做了什么。
如果它是具有id属性的对象,则可以使用Where()
int userInput = 5;
IList<T> myList = getList();
if(myList.Any(x => x.ID == userInput)) {
// Has an ID
}
答案 2 :(得分:-1)
List<yourobject> sd = new List<yourobject>();
sd.Where(s=>s.id == <inputID>);