c# - 检查 arraylist 中的重复项

标签 c# .net asp.net

我有一个数组列表,其中包含名为 Room 的项目。每个房间都有一个房间类型,例如厨房、接待处等。 在将它添加到列表之前,我想检查 arraylist 以查看是否存在该类型的房间。 谁能推荐一种不需要多个 foreach 循环的巧妙方法?

(.NET 2.0)


我无法访问在 .net 2.0 上运行的 linq 技术。我应该在问题中说明这一点。 抱歉

最佳答案

我不会使用 ArrayList这里;因为你有 .NET 2.0,所以使用 List<T>一切都变得简单了:

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

或使用 C# 3.0(仍以 .NET 2.0 为目标)

bool exists = rooms.Exists(room => room.Type == roomType);

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

bool exists = rooms.Any(room => room.Type == roomType);

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

关于c# - 检查 arraylist 中的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289794/

相关文章:

c# - 如何从Windows8中的图像文件创建可写位图图像

当两个类具有相同名称的属性时,.NET XmlSerializer 错误

c# - 在 ASPxTextboxControl 上触发验证后触发 Javascript 函数

c# - 多个单词导致自动完成扩展程序出现问题

.net - 用于在页面内创建 div 样式窗口的 JavaScript 库

c# - ASP.NET 动态 JavaScript 文件

c# - 定期从内存流播放音频 C#

c# - 通过 C# 使用 OAuth2 RESTful 服务时授权错误 500

c# - Activator.CreateInstance 导致 nunit 锁定,从而阻止 visual studio 构建

c# - 如何将非日期值格式化为日期值