クイック質問:同じデザインで2つの異なる結果が得られるのはなぜですか?
私は一束(雲)の座標を持っており、私は束全体の四隅の座標を見つける傾向があります。そして、私は意味のコーナーで:私は私の値を取得するには、この古いルーチンを使用
MyDesiredResult = {SmallestX、BiggestY、BiggestX、SmallestY}
、それが正しいものです:しかし、私はそれを行う必要があります4回(4つの結果のために)。だから、私は一度だけ使用し、この新ルーチンにそれを変更することで、私のコードを最適化しようとしています:
List<CoordPoint> MySortedList = MyCloud.Select(c => new CoordPoint { X = c.X, Y = c.Y, Z = c.Z, Color = c.Color }).ToList(); MySortedList.Sort((c1, c2) => c1.X.CompareTo(c2.X)); // sort on X var temp = MySortedList[MySortedList.Count - 1]; // hold biggest X in a temp variable MyResult.Add(MySortedList[0]); // add smallest X to my result MySortedList.Sort((c1, c2) => c1.Y.CompareTo(c2.Y)); ; // sort on Y MyResult.Add(MySortedList[MySortedList.Count - 1]); // add biggest Y to my result MyResult.Add(temp); // add biggest X to my result MyResult.Add(MySortedList[0]); // add smallest Y to my result
しかし、それは異なる結果が得られます。私は、サンプル入力、現在の出力、および希望の出力を表示したいと考えています。私はサンプル入力(巨大な負荷)をスキップし、結果を表示することができます。誰かが私が間違っていることに向かって私を指摘できますか?旧ルーチンから
結果:同じ入力について
(0,4)、(15、12)、(23、6)、(19、0)
新しいルーチンから結果:
(0、4)、(18、12)、(23、6)、(18、0)
あなたは、2つの異なるコードスニペットが異なる結果を生成すると述べてきましたが、正しい結果が何であるかについては何も言及していません。 – Servy
@謝りました。結果部分の前に "_P.S古いルーチンが正しい!_"と表示されます。そして、新しいルーチンは異なる結果をもたらすべきではありません!これが問題です。 –
あなたの質問の根本的な前提は、ポストスクリプトにあってはいけません。 – Servy