c# - 如何使用 LINQ 在数组的每一行中设置属性的值?
问题描述
我有这个数组:
App.selectedPhrases.Pts
我想做的是将 intselected
属性的值设置0
为数组中的每一行。
这是在 LINQ 中做的好事还是有更好的方法?
解决方案
是的,这是可能的,
但
与良好风格的旧循环相比,您不会获得太多收益,例如:
foreach(var instance in myCollection)
instance.selected = 0;
您也可以使用ForEach
-extension on List<T>
,但它看起来非常相似并且做的事情完全相同。虽然您没有获得任何优势,但此解决方案会迫使您将您的收藏物化为一个列表。然而,这里是:
myCollection.ForEach(x => x.selected = 0);
Linq 中的 Q 代表查询,而不是修改。这就是为什么 Linq 可以很好地检索对象,例如从数据库中检索对象,但不能更新这些对象。
推荐阅读
- asp.net - 下载文件是用 IIS 直接在 Chrome 浏览器中打开文件,而不是下载文件
- reactjs - 如何测试 global.i18n.t
- python - Jupyter - 将当前的 ipynb 文件导出到笔记本中的 html
- php - PHP - 如果字符串包含 '<' 或 '>' - strpos()
- php - 可点击元素上的不可点击元素
- python - 将参数传递给 Python C API 函数调用
- r - 可以使用 R 中的“corrplot”包来构建二进制和连续变量的相关矩阵吗?
- javascript - React.js:如何连续多次运行 window.open()?
- bash - VSCode 集成终端不加载 .bashrc 或 .bash_profile
- spring - Spring WebSocket 和 RabbitMQ Web STOMP 示例