Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将循环的结果添加到列表中_C#_List_For Loop_Revit Api - Fatal编程技术网

C# 如何将循环的结果添加到列表中

C# 如何将循环的结果添加到列表中,c#,list,for-loop,revit-api,C#,List,For Loop,Revit Api,我使用revit代码收集曲线轮廓并创建放样几何体 创建曲线操作与for循环(从点创建线)配合得很好。但它创建了两个独立的曲线 我尝试将for循环结果添加到一个新列表(profile3)。但它返回两个列表,其中有一个曲线。在我的例子中,它应该是一个列表中的两个曲线图(profile3) CurveLoop profileLoop=new CurveLoop(); List profile3=新列表(); SolidOptions=newsolidoptions(ElementId.InvalidE

我使用revit代码收集曲线轮廓并创建放样几何体

创建曲线操作与for循环(从点创建线)配合得很好。但它创建了两个独立的曲线

我尝试将for循环结果添加到一个新列表(profile3)。但它返回两个列表,其中有一个曲线。在我的例子中,它应该是一个列表中的两个曲线图(profile3)

CurveLoop profileLoop=new CurveLoop();
List profile3=新列表();
SolidOptions=newsolidoptions(ElementId.InvalidElementId,
ElementId.InvalidElementId);
对于(int i=0;i
无法创建放样,因为它在列表中只有一个curveloop,并且需要从for循环创建这两个曲线

应在一个列表中的第一个曲线顶点和第二个曲线顶点

看起来您需要在列表中添加两次相同的
CurveLoop
。因此,您将得到一个包含两个匹配元素的列表

我建议再做一次
profile3.Add(profileLoop)

对于迭代器,您实际上并没有创建两个不同的
CurveLoops
,只有一个。因此,您需要将其添加到列表中两次,才能使结果生效

问题 这里要做的是将同一个对象多次传递到一个列表中,然后想知道为什么列表中的所有对象都是相同的

解决方案
您可能想看看的概念和之间的区别

我真的看不出您在哪里创建了2个曲线操作。。我只看到一个Curveloop对象你发布了所有代码吗?这里只有一个
Curveloop
对象。从中可以看出,Curveloop似乎是一组曲线。。。也许这就是产生混淆的地方?它从两个列表中创建了两个曲线图,其中都有9个点