明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1792|回复: 13

[基础] Point3dCollection

[复制链接]
发表于 2015-5-17 09:19 | 显示全部楼层 |阅读模式
请问存放在Point3dCollection pts = new Point3dCollection();里面的点怎么输出进行比较呀
发表于 2015-5-17 10:52 | 显示全部楼层
  1.   for (int i = 0; i < pts.Count-1; i++)
  2.             {
  3.                 if (pts[i].X < pts[i + 1].X)
  4.                 {
  5.                     
  6.                 }
  7.             }
复制代码
就相当一个数组,可以通过一个循环来做比如:
发表于 2015-5-17 11:03 来自手机 | 显示全部楼层
SortBy …  ThenBy
 楼主| 发表于 2015-5-17 11:04 | 显示全部楼层
j15tty 发表于 2015-5-17 10:52
就相当一个数组,可以通过一个循环来做比如:

哦哦,它直接就是一数组了哈,谢谢
发表于 2015-5-18 08:46 来自手机 | 显示全部楼层
我不喜欢用这个集合类
泛型集合比他好用多了
发表于 2015-5-18 11:05 | 显示全部楼层
Point3dCollection.OfType(Of Point3d).ToArray
Point3dCollection.OfType(Of Point3d).ToList
 楼主| 发表于 2015-5-18 18:30 | 显示全部楼层
雪山飞狐_lzh 发表于 2015-5-18 08:46
我不喜欢用这个集合类
泛型集合比他好用多了

飞狐版主,我还是个新手,对这些还不太了解,还在学习中。现在遇见个问题是Point3dCollection pts中存入很多点,有写点是重叠的,有些点是独立的,想要把独立的点输出,请问版主有没有好的想法,谢谢
发表于 2015-5-18 23:03 | 显示全部楼层
        [CommandMethod("t_1")]
        public void Test1()
        {

            Point3dCollection pts = new Point3dCollection { new Point3d(), new Point3d(), new Point3d(1, 1, 0) };
            var lst = pts.Cast<Point3d>().Distinct();

            var doc = Application.DocumentManager.MdiActiveDocument;
            var ed = doc.Editor;

            foreach (var pt in lst)
                ed.WriteMessage("\nPoint:{0}", pt);

        }
 楼主| 发表于 2015-5-19 10:22 | 显示全部楼层
雪山飞狐_lzh 发表于 2015-5-18 23:03
[CommandMethod("t_1")]
        public void Test1()
        {

谢谢飞狐,但是我运行时Cast出错了,这个Cast需要什么引用,还是什么别的原因呀
发表于 2015-5-19 14:53 来自手机 | 显示全部楼层
.net3.5 引用linq
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 17:37 , Processed in 2.252652 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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