明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1603|回复: 7

如何操作List<point3d>中的元素?

[复制链接]
发表于 2011-7-31 21:15:20 | 显示全部楼层 |阅读模式
大家好,我在我的代码中定义了一个List<Point3d>,但是如何操作这个链表中的元素?比如我获得这个链表中的第一个和第六个元素,该怎么办啊?
发表于 2011-8-1 21:09:43 | 显示全部楼层
List(of T)?
这个参考MSDN
 楼主| 发表于 2011-8-2 12:50:41 | 显示全部楼层
回复 single-yu 的帖子

对啊,在VB中就是是List(of Point3d), 在C#中就是List<Point3d>.
msdn中我只找到了一点点介绍。你以前用过吗?
发表于 2011-8-2 23:11:22 | 显示全部楼层
和集合一样用呀,这个最基本的了,.NET多看看吧,泛型
发表于 2011-8-2 23:13:43 | 显示全部楼层
MSDN中有大量的这样的介绍呀,System.Collections.Generic 命名空间
这个在排序中比较好用 SortedList 泛型类
发表于 2011-8-2 23:15:50 | 显示全部楼层
MSDN中有大量的这样的介绍呀,System.Collections.Generic 命名空间
这个在排序中比较好用 SortedList 泛型类
 楼主| 发表于 2011-8-3 21:52:04 | 显示全部楼层
回复 single-yu 的帖子

你好,如何到一个List<oint3d>中和第一个点的X坐标相差最小的那个点啊,如果找不到了就返回发false,我的代码如下:
  1. List<Point3d> Points=new List<Point3d>;
  2. //给List<Point3d>增加元素的代码在这里省略
  3. //....
  4. //get the fist point in hAutoPointsLst as a start point
  5.                         Point3d startPoint = Points.First();

  6.                         //delete the fist point from the Points
  7.                         Points.Remove(startPoint);

  8.                         Point3d leftPt = Points.Find(pt =>
  9.                         {
  10.                             if (pt.X - startPoint.X > 0)
  11.                             {
  12.                                 return true;
  13.                             }
  14.                             return false;
  15.                             //return;
  16.                         });
复制代码
这样写把比第一点X值大的点都找出了。
发表于 2011-8-10 22:48:46 | 显示全部楼层
本帖最后由 guohq 于 2011-8-10 22:49 编辑

其实一句话就行了

vb.net这样实现  (pts = new list( point3d))

dim rtn = from pt in pts select pt order by pt.x  

rtn中第一个点就是你要找的X最小的那个。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 20:33 , Processed in 0.196816 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表