检查arraylist中的重复项

ano*_*use 5 .net c# asp.net

我有一个arraylist包含名为Room的项目.每个房间都有一个房间类型,如厨房,接待等.我想检查arraylist,看看是否有任何类型的房间存在,然后再将其添加到列表中.任何人都可以推荐一种简洁的方法,而不需要多个foreach循环吗?

(.NET 2.0)


我没有访问linq技术,因为我在.net 2.0上运行.我应该在问题中说明.道歉

Mar*_*ell 10

我不会ArrayList在这里使用; 因为你有.NET 2.0,使用List<T>和所有变得简单:

List<Room> rooms = ...
string roomType = "lounge";
bool exists = rooms.Exists(delegate(Room room) { return room.Type == roomType; });
Run Code Online (Sandbox Code Playgroud)

或者使用C#3.0(仍然针对.NET 2.0)

bool exists = rooms.Exists(room => room.Type == roomType);
Run Code Online (Sandbox Code Playgroud)

或者使用C#3.0以及LINQBridge或.NET 3.5:

bool exists = rooms.Any(room => room.Type == roomType);
Run Code Online (Sandbox Code Playgroud)

(Any用法适用于更多类型,而不仅仅是List<T>)