乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 53|回复: 2

有点迷路了...列出项目和元组

[复制链接]

9

主题

23

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
59
发表于 2019-2-16 11:44:12 | 显示全部楼层 |阅读模式
大家好...原谅我,如果这最终变得比它应该的更复杂。我以前没有真正需要这样的东西,有点迷失了。我正试图弄清楚我将如何去做一些事情。所以。。。
  1. Dim _List As New List(Of Tuple(Of Double, String, String, Double, Integer))
  2. For Each _ObjID In _Objects
  3.                 Dim _CurrentObject As Object= _Trans.GetObject(_ObjID, OpenMode.ForRead)
  4.                 _ObjProperties = New Tuple(Of Double, String, String, Double, Integer)(_CurrentObject.Prop1, _CurrentObject.Prop2, _CurrentObject.Prop3, _CurrentObject.Prop4, _CurrentObject.Prop5)
  5.                 _List.Add(_ObjProperties)
  6. Next

简单,没有问题...例如,如果我_List中退回了每个项目,我最终会得到这样的东西:
我现在需要做的是我迷路的部分......我想把我的_List,并组合符合某些标准的物品......
例如,我想合并所有对_CurrentObject.Prop1,_CurrentObject.Prop2,_CurrentObject.Prop3具有相同值的项目,但我想做一些类似于添加/减去_CurrentObject.Prop4,_CurrentObject.Prop5的值...不确定这听起来是否正确,但是...这将是列表最终的样子...
这有意义吗?如果是这样,任何人都有我怎么能做这样的事情的例子吗?我认为“对于每个”和“如果”语句组合可能是正确的路线,但我现在正在绘制一个完整的空白...

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

15

主题

687

帖子

169

银币

中流砥柱

Rank: 25

铜币
582
发表于 2019-2-16 12:30:17 | 显示全部楼层
嗨,
林克是你的朋友
您可以使用“查询表达式”语法
查询=
来自t_List
按t.Item1+t.Item2+t.Item3对t进行分组
转换为g
选择新元组
(g.First()。第1项,g.First()。第2项,g.First()。Item3,g.Sum(t=>t.Item4),g.Count())

或(我更喜欢)基于lambda表达式的“基于方法”语法
.GroupBy(t=>t.Item1+t.Item2+t.Item3)
。选择(g=>newtuple
(g.First()。第1项,g.First()。第2项,g.First()。项3,g.Sum(t=>t.Item4),g.Count())

在IMHO中,您应该使用litlle类或结构来存储数据,而不是5项元组,这将使您的代码更清晰。
回复

使用道具 举报

9

主题

23

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
59
发表于 2019-2-16 15:19:44 | 显示全部楼层
吉尔,你摇滚!这非常完美。我尝试了你提到的两种方法,我想我明白为什么你喜欢基于方法的语法。起初,我甚至不认为我需要一个单独的班级,但是一旦我开始把这些部分捆绑在一起,它就如你所建议的那样,让我的一天变得容易得多。谢谢!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 08:57 , Processed in 0.315127 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表