我正在尝试重构一些运行缓慢的代码,这些代码使用几个数据表的嵌套循环来编写XML.我读到使用linq编写xml会更快.我对linq并不精通,所以我希望能在这里得到一些帮助.
我需要提到的一些事情是当前架构使用webservice,它在dataTables中向我们返回数据.然后我们遍历数据表(迭代地),并且有几个导致几个嵌套循环.
例:
dt1 = Webservice.getStuff();
for each (datarow r1 in dt1.Rows) {
dt2 = Webservice.getMoreStuff(r1[col1], r1[col2]);
// write out some xml
for each (datarow r2 in dt2.Rows) {
dt3 = Webservice.getEvenMoreStuff(r2[col1], r2[col2]);
// write out more xml
for each (datarow r3 in dt3.Rows) {
// write out more xml
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,显而易见的原因,这非常缓慢.有没有办法加速使用linq?你们有什么建议作为一种更有效的方法来重构这个?如果细节含糊不清,我很抱歉......
我感谢任何人提供的任何帮助.
我正在寻找一种工具,可以自动方式从图像中删除背景,无需人工干预.我目前正在尝试一种名为Image Magick的工具(http://www.imagemagick.org/script/index.php).我正在使用我拍摄的实际照片.我首先拍摄背景照片,然后将一个物体引入同一帧并拍摄另一张照片.我把相机放在三脚架上,这样就没有动静了.该对象投射的阴影似乎会影响结果以及背景的纹理.我不介意场景的准备是否需要更多时间,只要我可以成功删除整个背景而无需在photoshop(或任何其他图像编辑应用程序)中触摸它.我在ImageMagick面临的问题是,它还会移除前景中的部分对象.有没有人知道如何以一种我只能使用这个工具或任何其他工具干净地删除背景的方式"准备"场景的任何其他工具或建议?非常感谢所有提示/建议/建议.感谢大家!