Rey*_*neh 7 c# algorithm list coordinates
我正在使用C#,我有两个list<AACoordinate>,其中这些列表中的每个元素用x,y和z表示空间中的3D点.
class AACoordinate
{
public int ResiNumber { get; set; }
public double x { get; set; }
public double y { get; set; }
public double z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
每个列表可以包含2000个或更多点,我的目的是将list1的每个点与list2的所有点进行比较,如果距离小于特定的数字,我会记录它.目前我使用foreach将list1的每个元素与list2的所有元素进行比较.由于点数的原因,这很慢.你有什么建议让它快速吗?
我的循环是:
foreach (var resiSet in Program.atomList1)
{
foreach (var res in Program.atomList2)
{
var dis = EuclideanDistance(resiSet, res);
if (dis < 5)
temp1.Add(resiSet.ResiNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.