私はLINQクエリは
public class Line
{
public string ConnectionsIndex{get;set;}
}
私のLINQの問題は、私はこの
var l4 = new Line{ ConnectionsIndex="01,02,03"};
にこれらの行
var l1 = new Line{ ConnectionsIndex="01,02"};
var l2 = new Line{ ConnectionsIndex="02,03"};
var l3 = new Line{ ConnectionsIndex="01,03"};
を集約しなければならないということである。このクラスを持っていることは何をすることが可能ですLinqと?
詳細:私は私のコレクションを持っている他の項目を追加するとき
事は(少なくとも私にとっては)もっと複雑です。私はそれをよく説明してきた場合、私は知らないペア03,04、01,04、01,06及び02,06
で他の行が存在しないため
var l5 = new Line (ConnectionsIndex = "02,04");
var l6 = new Line (ConnectionsIndex = "03,06");
...
実際には、ポリゴンのすべての点があるとします。各ポリゴンのすべての点の間の接続のリストを与えることで、クエリのすべての項目の行を取得したいと考えています。
(私のリストに複数のポリゴンが含まれている)他のすべてに接続されていない場合
ワンポイントが結果に含まれてはなりません。
これは私のリストの内容の一例です:
あなたが例えば166、171および334もっと詳しく間の三角形を持っているこのリストに
ConnectionsIndex="166,171"
ConnectionsIndex="166,174"
ConnectionsIndex="166,333"
ConnectionsIndex="169,170"
ConnectionsIndex="171,175"
ConnectionsIndex="171,334"
ConnectionsIndex="167,174"
ConnectionsIndex="172,174"
ConnectionsIndex="174,335"
ConnectionsIndex="177,341"
ConnectionsIndex="180,200"
ConnectionsIndex="181,183"
ConnectionsIndex="182,199"
ConnectionsIndex="184,185"
ConnectionsIndex="186,188"
ConnectionsIndex="189,192"
ConnectionsIndex="190,230"
ConnectionsIndex="191,375"
:
VARグループ=行コネクションインデックス( "、 ')。含まれています(行のConnectionsIndex.Split('、 ')[0])|| x。ConnectionsIndex.Split('、 ')。 。ConnectionsIndex.Split( '、')[1]))。ToList(); if(group.Count()== 1) { straight_lines.Add(line);他 } ここ { //私はポイント間のすべての行で "グループ" を持っている..私はdistincポイントに }
ええと...私はまだあなたがしようとしていることを理解していないのですか?あなたは、入力の集まりと望ましい出力のいくつかの例(3または4)を教えてください。 –
私は何か試しましたが、サンプルデータでは "166,171,174,333,175,334,167,172,335"と表示されます。あなたは正確なポリゴンを決定する必要がありますか? – Botz3000
私は、より詳細が必要であることに同意します。あなたの値は「x、y」の座標であり、接続されたすべての点を1つの線で結ぶことを試みていますか? – MattH