سؤال

أقول إنشاء مجموعتين من المجموعات مثل ذلك:

    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

الآن أريد أن أداء مجموعة من العمليات على هاتين القائمتين مثل ذلك:

    Dim loTupleSetDifference = loTupleKeys.Except(loTupleExistingKeys)

ومن الواضح أن ينق لا يمكن إجراء المقارنة على مجموعات إذا كان لا يعرف مجموعات موحدة تعريفات, لذلك سوف تعطيني هذا بناء خطأ:

الخيار صارم لا يسمح ضمنيا التحويلات من 'System.مجموعات.Generic.IEnumerable(من < مجهول النوع>)' إلى 'System.مجموعات.Generic.IEnumerable(من < مجهول النوع>)'.

كيف يمكنني العمل مع إعلان هذه المجموعات لجعلها شبكة ؟ (لا حظ كثير على جوجل)

[عدل] لا يزال الحصول على نفس خطأ في التحويل البرمجي:

    '*** 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)

الخطأ هنا هو:

خافت loTupleSetDifference = loTupleDatabaseTools.باستثناء(loTupleToolObjects)

خطأ 5 الخيار صارم لا يسمح ضمني التحويلات من 'System.مجموعات.Generic.IEnumerable(من < مجهول النوع>)' إلى 'System.مجموعات.Generic.IEnumerable(من < مجهول النوع>)'.

هل كانت مفيدة؟

المحلول

إذا كان مجهول الأنواع لها نفس الأسماء الملكية مع نفس النوع في نفس الترتيب ، ينبغي أن تكون نفس أنواع (وبالتالي متوافق).

تحرير:على أساس التعليقات تحديث السؤال, وأظن بت كنت في عداد المفقودين هو القدرة على اسم الخصائص في مجهول أنواع.تغيير هذا:

Dim loTupleExistingKeys = from t in m_losSPResults Select t.key3, t.key4

في هذا:

Dim loTupleExistingKeys = from t in m_losSPResults Select key1=t.key3, key2=t.key4

طالما هي أنواع اليمين ، ثم قد يكون حسنا مع عدم وجود المزيد من العمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top