为什么 Any() 对 C# null 对象不起作用

2024-03-02

打电话时Any() http://msdn.microsoft.com/en-us/library/bb337697在 C# 中,对于 null 对象,它会抛出 ArgumentNullException。如果对象为 null,则肯定不存在“任何”,并且它可能应该返回 false。

为什么 C# 会有这样的行为?


Any()询问:“这个盒子里有任何物品吗?”

如果盒子是空的,答案显然是否定的。

但如果一开始就没有盒子,那么这个问题就没有意义,函数会抱怨:“你到底在说什么?没有盒子。”


当我想将丢失的集合视为空集合时,我使用以下扩展方法:

public static IEnumerable<T> OrEmpty<T>(this IEnumerable<T> sequence)
{
    return sequence ?? Enumerable.Empty<T>();
}

这可以与所有 LINQ 方法结合使用foreach, 不只是.Any().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Any() 对 C# null 对象不起作用 的相关文章

  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 向 ExpandoObject 添加方法时,“关键字 'this' 在静态属性、静态方法或静态字段初始值设定项中无效”

    我尝试向 ExpandoObject 添加一个动态方法 该方法将返回属性 动态添加 给它 但它总是给我错误 我在这里做错了什么吗 using System using System Collections Generic using Sys
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • 从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

    我正在尝试将我的项目从 UseMVC asp net core 2 2 兼容样式 升级到 UseEndpoint Routing 并且我的所有请求都被重定向到我的验证失败页面 它与声明有关 如果我删除 Authorize Roles Adm
  • 对齐 GridView 中的行值

    我需要在 asp net 3 5 中右对齐 gridview 列中的值 我怎样才能做到这一点
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • g++ 对于看似不相关的变量“警告:迭代...调用未定义的行为”

    考虑以下代码strange cpp include
  • 在类的所有方法之前运行一个方法

    在 C 3 或 4 中可以做到这一点吗 也许有一些反思 class Magic RunBeforeAll public void BaseMethod runs BaseMethod before being executed public
  • 当前的 x86 架构是否支持非临时加载(来自“正常”内存)?

    我知道有关此主题的多个问题 但是 我没有看到任何明确的答案或任何基准测量 因此 我创建了一个处理两个整数数组的简单程序 第一个数组a非常大 64 MB 第二个数组b很小 无法放入 L1 缓存 程序迭代a并将其元素添加到相应的元素中b在模块化
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网

随机推荐

  • 如何通过抽象活动记录向子类添加范围

    我想要一些子类 它们都应该有一个范围 同名 尽管我知道直接继承不可能做到这一点 但基本思想如下 class MySuperClass lt lt ActiveRecord Base abstract class true scope sco
  • 如何将文件添加到以前的提交?

    在过去的一个小时左右我修改了文件 A ATest B BTest 为了确保我的提交消息与实际更改一致 已提交A并附有说明 不幸的是我没有包括在内ATest进入该提交 与此同时 尚未承诺的是B and BTest 此时最好的方法是什么 我想要
  • 为什么这条线没有被覆盖? Xcode 代码覆盖率

    我在 Xcode 中的代码覆盖率报告中遇到问题 从这个截图中你可以看到 在左侧选项卡上 第 58 行从断点 触及 在右侧选项卡上 测试通过 在右侧选项卡上 我仅运行第 37 行的测试 为什么 Xcode 将第 58 行标记为红色 因为未覆盖
  • Xcode C++ omp.h 文件未找到

    我正在尝试将 openmp 包含到我的 Xcode C 项目中 我已将 Xcode 中的编译器更改为 LLVM GCC 4 2 添加 fopenmp 作为 CFlag 并在 xcode 中启用了 OpenMP 支持 但它仍然显示 omp h
  • 最大活动数量!

    是否有关于应用程序可以拥有的活动数量的设计指南 如果有限制 那么可以在 Android 应用程序中捆绑的理想活动数量是多少 IMO 没有这样的限制 典型的应用程序将有
  • 如何检查一个对象是否具有属性?

    如何检查一个对象是否具有某些属性 例如 gt gt gt a SomeClass gt gt gt a property Traceback most recent call last File
  • SEO 和在 url 中使用 !#

    我在某处读到过如何创建一个网站 该网站使用 AJAX 加载页面的每个部分 同时仍然提供 SEO 这与 url 中使用 有关 类似于推特的做法 我似乎在任何地方都找不到任何有关它的信息 有人知道我在说什么吗 Is this http goog
  • 使用 Microsoft Teams 的 REST API 访问用户状态

    我想查询我自己和其他用户在 Teams 中的状态 理想情况下 我希望在它们发生变化时收到通知 以便我可以更改我的内部状态 目前图形 API 似乎没有此功能 不幸的是 这尚不可用 我们确实计划将其添加到 Microsoft Graph 但我们
  • 是否有一个 Java 库可以收集 UI 使用情况统计信息?

    是否有一个 Java 库可以收集 UI 使用情况统计信息 感觉像 log4j 的东西吗 如果您正在使用 Eclipse 平台 您可能会查看使用数据收集器项目 http www eclipse org epp usagedata http w
  • Magento 发票 Excel 导出 - 如何更改字段?

    我想将一些发票导出到 Microsoft Excel XML 标准格式效果不太好 因为我需要一些额外的列 我的问题是 文件在哪里生成 我在哪里设置这些特殊列 提前致谢 导出到 Excel 时执行InvoiceController calls
  • 如何确定平衡或完全平衡的二叉搜索树(仅从图片中)

    我不知道如何确定一棵树是否平衡 完全平衡 或者如果我将它作为图片而不是代码来确定它是否平衡 例如 如果我有这棵树 如何检查它是平衡 完美平衡还是不平衡 有人能给我一个完美平衡树的例子吗 o b p d m r 显然 如果是这样的话 我可以判
  • catch forEach 最后一次迭代

    arr 1 2 3 arr forEach function i last iteration 如何捕获循环结束的时间 我可以if i 3 但我可能不知道我的数组的编号是多少 另请参阅ES6 的更新答案 https stackoverflo
  • Outlook 超链接上下文菜单

    我正在尝试为超链接制作上下文菜单 似乎有几个上下文可以拦截超链接事件 目前我对 idMso ContextMenuReadOnlyMailHyperlink 的上下文菜单感兴趣 有两种不同的方式可以执行此菜单中新按钮的回调 如果在 Outl
  • 如何给用户添加角色?

    我们使用 Yii2 框架的最后一个 alpha 版 用户的角色已经创建 但问题是如何分配给用户 缺少文档 对于 RBAC 的数据库版本 请使用 DbManager 引用自 Alexufo use yii rbac DbManager r n
  • 使用 vagrant、docker 和 git 进行项目布局

    所以我最近发现了 docker 和 vagrant 并且我正在启动一个新的 Php 项目 我想在其中使用两者 Vagrant 是为了拥有一个所有开发人员都可以使用的可互换环境 Docker 用于生产 但也在 vagrant 机器内部 因此开
  • docker-compose 中的 Hyperledger 浏览器无法与 Hyperledger 区块链配合使用

    我正在尝试让 hyperledger explorer 与 docker compose 一起使用 hyperledger 区块链浏览器没有连接到 hyperledger 区块链网络 它显示 无法连接客户端对等点 请检查配置和对等点状态 不
  • Neo4j 还支持 XA 事务吗?

    我的项目使用 spring boot 和 neo4j SDN spring data neo4j 作为数据访问层 最近我遇到一个问题 我需要跨存储持久化 我需要更新neo4j和oracle数据库中的数据 因此 执行此操作的标准方法是 XA
  • Android AdView 泄漏,可能是由于某些内部后台线程造成的

    我在由片段创建的窗口中显示 AdMob 广告横幅 这有效 但我遇到了奇怪的泄漏问题 我还不明白 当我多次打开和关闭应用程序时 广告片段每次都会被正确销毁 但控制该片段的 MainActivity 正在泄漏 有罪的是代码中的这一行 adReq
  • 如何将文件从一台服务器复制到另一台服务器?

    我有一台服务器 除了 xls 日志文件之外什么都没有 每个文件为 5 15Mb 并且它是动态的 因为文件可以在任何时间点添加 现在我需要一种方法来使用 Ruby 执行以下过程 通过将文件名从一台只有日志文件的服务器发送到另一台服务器来复制文
  • 为什么 Any() 对 C# null 对象不起作用

    打电话时Any http msdn microsoft com en us library bb337697在 C 中 对于 null 对象 它会抛出 ArgumentNullException 如果对象为 null 则肯定不存在 任何 并