何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 结合使用?

2024-01-18

我已经四处搜寻,但还没有真正找到关于何时使用的明确答案.First当你想使用时.FirstOrDefault使用 LINQ。

  • 您想什么时候使用.First?仅当您想在没有返回结果的情况下捕获异常时?

    var result = List.Where(x => x == "foo").First();
    
  • 你什么时候想使用.FirstOrDefault?如果没有结果,您总是想要默认类型?

    var result = List.Where(x => x == "foo").FirstOrDefault();
    
  • 就此而言,Take 又如何呢?

    var result = List.Where(x => x == "foo").Take(1);
    

我会用First()当我知道或期望序列至少有一个元素时。换句话说,当出现异常时,序列为空。

Use FirstOrDefault()当您知道需要检查是否存在某个元素时。换句话说,当序列为空时是合法的。您不应依赖异常处理来进行检查。 (这是不好的做法,可能会损害性能)。

最后,两者的区别First() and Take(1)就是它First()返回元素本身,而Take(1)返回仅包含一个元素的元素序列。

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

何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 结合使用? 的相关文章

  • 确保 unsigned int/long 始终在 C# 中的检查上下文中执行

    有没有人觉得奇怪 uint 和 ulong 的默认上下文是未检查的 而不是检查的 因为它们旨在表示永远不能为负的值 因此 如果某些代码试图违反该约束 在我看来 自然且首选的行为是抛出异常 而不是返回最大值 这很容易使重要数据处于无效状态并且
  • Debug.WriteLine() 未命中

    我正在调试 Windows 服务 通过点击F5在 Visual Studio 2010 中 使用以下代码 In 程序 cs file static void Main if Environment UserInteractive We ar
  • 用于轻松动态反射的 C# 库

    是否有任何库 例如开源项目等 可以更轻松地使用复杂的反射 例如动态创建对象或类 检查实例等 Thanks 有一个LinFu http www codeproject com KB cs LinFuPart1 aspx可用的库除了反射之外还可
  • MouseDoubleClick 事件不会冒泡

    我的场景经过简化 我有一个包含员工行的 ListView 在每个员工行中 都有 增加 和 减少 按钮来调整他的工资 假设在我的程序中 双击 员工 行意味着 解雇此人 The problem是当我快速单击 增加 时 这会触发 ListView
  • 会员提供商使用还是不使用?

    我正在开发一个使用 Facebook 的网站 现在为了管理用户我想使用MembershipProvider并选择开发一个定制的会员提供商 我的问题是我的数据库架构与标准成员资格架构不匹配 并且提供的用于覆盖的函数采用与我预期不同的参数 例如
  • DataGridView小数不排序

    好吧 我有一个 DataGridView 它的数据绑定如下 dataGridViewChartOre AutoGenerateColumns false dataGridViewChartOre DataSource xml GetOreC
  • gcc 删除内联汇编代码

    看起来 gcc 4 6 2 删除了它认为函数中未使用的代码 test c int main void goto exit handler asm volatile jmp 0x0 exit return 0 拆解main 0x0804840
  • 获取进程的所有 DLL

    我想获取为给定进程加载的所有 dll 的列表 我目前正在使用 NET框架4 0 我知道有一个bug https connect microsoft com VisualStudio feedback details 546430 syste
  • 如何使用 Linq to Sql 修剪值?

    在数据库中 我有一个名为 联系人 的表 名字和其他此类字符串字段设计为使用 Char 数据类型 不是我的数据库设计 我的对象 Contact 映射到属性中的字符串类型 如果我想做一个简单的测试 通过 id 检索 Contact 对象 我会这
  • 为什么C++中没有“NULL引用”?

    我正在阅读 C 常见问题解答 8 6 什么时候应该使用引用 什么时候应该使用指针 http www parashift com c faq lite refs vs ptrs html 特别是以下声明 可以时使用引用 必要时使用指针 上述情
  • 在unity3D中显示数学方程

    我想使用它的 GUI 系统统一显示数学方程 有办法吗 我正在使用 C 语言在 Unity 中进行编程 如果我还可以使用 C 代码显示数学符号 这对我来说会很有用 谢谢 自 2016 年起 您可以使用TEXDraw https assetst
  • 如何使用 HttpClient 验证 Pardot API

    我花了大约一天的时间尝试对 Pardot API 进行身份验证 它不喜欢我尝试发布消息正文的方式 所以我想发布对我有用的解决方案 如果您有任何建议或替代方案 我想听听 ServicePointManager SecurityProtocol
  • cmake 包括其他目录中的 h 文件

    我在 cmake 项目下进行测试时遇到问题 我的项目是这样安排的 TerrainMap PointAccumulator heightQuadGrid Test 在 TerrainMap 目录中 CMakeLists txt 文件简单地概述
  • 在 Ubuntu 16.04 上编译 PCL 1.7,CMake 生成的 Makefile 中出现错误

    我正在尝试让 PCL 1 7 点云库 而不是其他 pcl 在 Ubuntu 16 04 上运行 我最终希望用于 C 的东西 但现在我只是想让这些例子工作 我使用的是 Ubuntu GNU 5 3 1 附带的默认编译器和 Cmake 版本 3
  • 如何获取数字列的确切类型,包括。规模和精度?

    有没有办法知道列中列的确切类型DataTable 现在我正在这样做 DataTable st dataReader GetSchemaTable foreach DataColumn col in st Columns var type c
  • 通过开源 PCL 使用 API 查看 3D 点云

    我使用 ToF 飞行时间 相机来获取 XYZ 格式的深度数据 为了实现 3D 点云的可视化目的 我想使用开源 PCL 提供的 API 网址为http pointclouds org documentation tutorials pcl v
  • 如何重写(重新实现)QFileSystemModel 中的成员函数

    我已经为此苦苦挣扎了一段时间 Qt s QFileSystemModel由于图标获取算法非常糟糕 在获取数百个文件时速度非常慢 我想完全禁用图标 它们被提取到QFileSystemModel data方法不是虚拟的 QFileSystemM
  • 比较 2 个 linq 应用程序:意外结果

    我起草了2 ASP NET应用程序 using LINQ 一个连接到微软SQL服务器 另一个对某些专有内存结构 这两个应用程序都可以使用以下表格3 个 int 字段 有500 000 条记录 内存结构与 SQL Server 表相同 使用的
  • Eclipse (C/C++) 错误:平台关闭后发现作业仍在运行

    当我打开 Eclipse 时 它 在一小时前工作过 但在启动时冻结并给出错误 发生错误 请参阅日志文件 请参阅下面的日志文件 尽管其中一些信息出现在日志中 操作系统 Mac OSX 10 7 5 Eclipse 面向 C C 开发人员的 E
  • C++11 中引入了哪些重大更改?

    我知道 C 11 中至少有一项更改会导致一些旧代码停止编译 引入explicit operator bool 在标准库中 替换旧实例operator void 诚然 这将破坏的代码可能是一开始就不应该有效的代码 但它仍然是一个破坏性的变化

随机推荐

  • 如何在CSS中制作具有透明度的径向渐变

    我想在透明度变化的地方制作一个径向渐变 我可以让它线性工作 但不是径向工作 background webkit gradient linear left top left bottom from rgba 50 50 50 0 8 to r
  • 具有高多边形网格的 OpenGL 3D 光线拾取

    如何在包含高多边形网格的模型的 3D 场景中实现 3D 光线拾取 迭代所有三角形来执行三角形线相交测试需要花费太多时间 我知道存在八叉树等方法 并且应该可以将这些方法用于场景中的模型 但我不知道应该如何在网格级别使用这些概念 但是 如果您在
  • GWT - 如何编译移动排列

    我知道如何使用延迟绑定为不同的用户代理编译 GWT 应用程序 但这似乎没有提供区分桌面 移动浏览器的方法 除了制作基于 gwt mobile webkit 的新应用程序之外 如何将现有的 GWT 应用程序转换为具有重新设计的移动界面 如果您
  • 如何使maven-compiler-plugin不隐藏错误源位置

    也许有一个maven compiler plugin这个选项 但我还没有找到 When javac直接运行并打印错误 在消息的第一行之后 它显示受影响的源行下一行上有一个插入符号指向错误位置 它看起来像这样 com invariantpro
  • 确保泛型类型在 Typescript 中仅具有原始属性

    我有一个采用泛型类型的函数 我需要确保该类型是 JSON 可序列化的 也称为仅原始属性 我的尝试是为 JSON 兼容类型定义一个接口 并强制我的泛型扩展此类型 type JSONPrimitive string number boolean
  • 如何通过按键终止 while 循环?

    我正在读取串行数据并使用 while 循环写入 csv 文件 我希望用户一旦觉得已经收集了足够的数据就能够终止 while 循环 while True do a bunch of serial stuff if the user press
  • swift 中 DispatchQueue 类型之间的区别

    据我了解 Swift 中有 3 种类型的 DispatchQueue 主要 连续剧 主线 全球 并发 后台线程并行工作 自定义 并发或串行 每一个都可能有效 异步或同步 第一个问题 主队列是否在工作仅 UI 线程并且不在另一个线程上工作 如
  • 为什么反应路由器在 vercel 上不起作用?

    我正在尝试将无服务器网络发布到 vercel 我想使用react router 这在我的计算机上运行良好 但是当我部署它时它不起作用 有人可以帮助我吗 我想在没有服务器的情况下完成 My main code import React fro
  • ServiceLocator 是一种反模式吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 最近我读过马克 西曼的文章 http blog ploeh dk 2010 02 03 ServiceLocatorisanAnti Patte
  • 如何在 Android 上设置 ImageView 的背景颜色?

    我尝试了一些方法 但没有任何效果 我试图更改 Android 上 ImageView 上的背景颜色 但没有任何反应 这是我的 xml
  • CSS3“提升角”不透明度阴影

    我一直在玩一些 CSS3 阴影效果 我非常喜欢 升角 效果 但在尝试向元素添加不透明度时遇到了问题 我的问题是 有没有办法在不透明的元素上创建 升角 效果 http jsfiddle net WAvZu http jsfiddle net
  • 为什么我的 Android 应用程序在类开头使用 findViewById(R.id.******) 初始化变量时会崩溃并出现 NullPointerException?

    此代码 带有注释的顶部块 成功运行 public class MainActivity extends AppCompatActivity EditText username EditText findViewById R id editT
  • 多列索引还需要单列索引吗?

    我陷入了一个设计不佳的系统中 现在我正在他们的数据库上做DBA 我有很多像下面这样的情况 伪代码 Table t1 c1 c2 c3 c4 key c1 key c2 key c1 c2 key c1 c2 c3 单列索引真的有必要吗 因为
  • 如何获取 Objective C(Foundation 框架)中命令行工具的可执行路径?

    我正在尝试找出一种方法来识别 Objective C 中命令行工具的可执行路径 因此 如果可执行文件是 Applications Utils MyTool 则该方法将返回 Applications Utils 我正在使用基础框架 称我为纯粹
  • Codeigniter 会话安全

    如何提高会话的安全性 this gt session gt userdata userid 我一直在为我的 ajax 调用而抛弃这个小坏男孩 有些情况我没有 然后我就想 使用 DOM 中的 id 真的安全吗 如果 DOM 被更改以破解用户帐
  • 恢复 Tensorflow 中新模型子集的变量?

    我正在做一个通过 Tensorflow 增强 4 层 DNN 到 5 层 DNN 的示例 我在 TF 中使用保存会话和恢复来制作它 因为 TF 教程中有一个简短的段落 例如 你可能已经训练了一个 4 层的神经网络 现在想要训练一个 5 层的
  • 具有相同函数名的包

    R 中具有相同函数名称的库似乎很烦人 解决以下问题的最简单方法是什么 Attaching package dplyr The following objects are masked from package stats filter la
  • 使用 LIFO 逻辑运行的 MailboxProcessor

    我正在学习 F 代理 MailboxProcessor 我正在处理一个相当非传统的问题 我有一名代理人 dataSource 这是流数据的来源 数据必须由一系列代理进行处理 dataProcessor 我们可以考虑dataProcessor
  • Windows ETW:内核使用者未收到 EventCallback 或 BufferCallback 事件

    我正在尝试监听 ETW 内核事件 第 1 步 致电OpenTrace http msdn microsoft com en us library windows desktop aa364089 28v vs 85 29 aspx 指定Ev
  • 何时使用 .First 以及何时将 .FirstOrDefault 与 LINQ 结合使用?

    我已经四处搜寻 但还没有真正找到关于何时使用的明确答案 First当你想使用时 FirstOrDefault使用 LINQ 您想什么时候使用 First 仅当您想在没有返回结果的情况下捕获异常时 var result List Where