2012-04-17 14 views
1

でリスト から同じ重複する箇所を削除します。 私は次のようにフロートポイントのリスト持つラムダ式

wayPoints = (new PointF[] { 
new PointF(18, 0), 
new PointF(18,0), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 0), 
new PointF(55, 230)}).ToList(); 
同じポイントがリストから削除されている、私はラムダ式を使用したい

が、それらの同じポイントの一つをリスト中の滞在

出力:私はラムダ式に私の命令を記述する必要がありますどのように

wayPoints = 
(new PointF[] { 
new PointF(18, 0), 
new PointF(55, 155), 
new PointF(55, 0), 
new PointF(55, 230)} 
).ToList(); 

答えて

1

点のリストは、あなたがこの(最初の配列とToList()を行うための必要性無し)を行うことができますだけで何の場合:あなたはユニークなポイントをしたい場合は

var wayPoints = new List<PointF>{ 
    new PointF(18, 0), 
    new PointF(18,0), 
    new PointF(55, 155), 
    new PointF(55, 155), 
    new PointF(55, 155), 
    new PointF(55, 155), 
    new PointF(55, 0), 
    new PointF(55, 230) 
}; 

を。 Distinctを使用できます。このように:

var wayPoints = (new PointF[] { 
new PointF(18, 0), 
new PointF(18,0), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 155), 
new PointF(55, 0), 
new PointF(55, 230)}).ToList(); 
var uniquePoints=wayPoints.Distinct().ToList(); 
2

Distinct重複を削除:

var distinctPoints = wayPoints.Distinct(); 

しかし、結果は、10(偶数{(18、0)のような配列では、唯一のPointF(18、0)を含むであろう、10)、(18,0)}。連続していないポイントを保存したいかどうかはわかりません。

+0

入力リストが{(18、0)、(10、10)、(18,0)}のようになる場合 結果は{{18、0}、 )} –

+0

@farzin parsa:次に、「Distinct」が選択の方法です。 – Stephan

関連する問題