अच्छे लोग।

मैं संग्रह के लिए एक स्वैप रूटीन लिखना चाहता हूं। कोड अब तक:

Sub swap(ByRef colFrom As Collection, ByRef colTo As Collection, theKey As String)
'Some needed work beforehand:
Select Case colFrom
    Case colA:
        ' do A 
        ' colA is a public collection
    Case colB:
        ' do B
        ' colB is also a public collection
    Case Else
        ' do Nothing
End Select

' the swap
' If KeyExists(colFrom, theKey) Then   ' another function
     colTo.Add Item:=colFrom.Item(theKey), Key:=theKey
     colFrom.Remove (theKey)
     ' do some stuff according to previous select case... 
' End If

स्वैप ही काम करता है। लेकिन मुझे उप पर पारित संग्रह के आधार पर स्वैप से पहले और बाद में कुछ सफाई करने की ज़रूरत है। इसके साथ मुझे लाइन 3 में "तर्क वैकल्पिक नहीं" त्रुटि मिलती है (चुनें ...) जोड़ना, उदा। जांच के लिए पूर्णांक पैरामीटर संभव नहीं है। लेकिन फिर मुझे यह सुनिश्चित करना होगा कि वे पूर्णांक संग्रह से मेल खाते हैं।

क्या आपके पास कोई विचार है कि बिना किसी पैरामीटर के इसे कैसे महसूस किया जाए?

0
Ralf S 30 मार्च 2020, 18:52

1 उत्तर

सबसे बढ़िया उत्तर

आप Select Case को घुमा सकते हैं और Is के माध्यम से तुलना को आगे बढ़ा सकते हैं

Select Case True
    Case colFrom Is colA
        ' do A
        ' colA is a public collection
    Case colFrom Is colB:
        ' do B
        ' colB is also a public collection
    Case Else
        ' do Nothing
End Select
1
HTH 30 मार्च 2020, 16:26