次のように 2 セットのタプルを作成するとします。
Dim losSPResults As List(Of spGetDataResults) = m_dcDataClasses.spGetData.ToList
Dim loTupleKeys = From t In losSPResults Select t.key1, t.key2
'' Query on an existing dataset:
Dim loTupleExistingKeys = from t in m_losSPResults Select t.key3, t.key4
次に、これら 2 つのリストに対して集合演算を次のように実行します。
Dim loTupleSetDifference = loTupleKeys.Except(loTupleExistingKeys)
明らかに、Linq は、セットに統一された定義があることがわからない場合、セットに対してコンパレーターを実行できないため、次のビルド エラーが発生します。
Option Strict On は、'System.Collections.Generic.IEnumerable(Of < 匿名型>)' から 'System.Collections.Generic.IEnumerable(Of < 匿名型>)' への暗黙的な変換を禁止します。
これらのセットの宣言を使用してメッシュを作成するにはどうすればよいですか? (グーグルではあまり運がありません)
[編集] それでも同じコンパイル エラーが発生します。
'*** If we have initialized the list of tools, check to make sure it's up to date
Dim loTupleDatabaseTools = From tt In lottTorqueTools _
Select StationIndex = tt.station_index, SlotNumber = tt.slot_number
Dim loTupleToolObjects = From tt In m_lottTorqueTools _
Select StationIndex = tt.StationIndex, SlotNumber = tt.SlotNumber
Dim loTupleSetDifference = loTupleDatabaseTools.Except(loTupleToolObjects)
エラーはここにあります:
Dim loTupleSetDifference = loTupleDatabaseTools.Except( loTupleToolObjects )
エラー 5 Option Strict On は、'System.Collections.Generic.IEnumerable(Of < 匿名型>)' から 'System.Collections.Generic.IEnumerable(Of < 匿名型>)' への暗黙的な変換を禁止します。