• 0

كيف أقوم بإرجاع قيمة على شكل Value انطلاقا من Key-Value ؟

أتوفر على كائن من نوع ListOf على تطبيق Vb.net، وكما يعلم الجميع هذا النوع يحتوي على بنية من شكل Key-Value، أريد من خلال دالة أعطيها كمُدخل ListOf أن ترجع Keys فقط، وهذا ما حاولت فعله عن طريق هذا الكود:

Private Function GetReasons() As List(Of KeyValuePair(Of Integer, String))
    Dim returnValue As New List(Of KeyValuePair(Of Integer, String))
    Dim con As New SqlConnection(SCRGlobals.ConnectionString)
    Dim cmd As New SqlCommand("SELECT CODE, DESC FROM ltblDELAY", con)
    cmd.CommandType = CommandType.Text
    Try
        con.Open()
        Dim c As SqlDataReader = cmd.ExecuteReader()
        While c.Read
            returnValue.Add(New KeyValuePair(Of Integer, String)(c("CODE"), c("DESC")))
        End While
    Catch ex As Exception
        Common.LogError(ex, True, False)
    Finally
        If con.State <> ConnectionState.Closed Then
            con.Close()
        End If
    End Try
    Return returnValue
End Function

لكنه لا يعيد لي ما أريده بالضبط، فهل من مساعدة؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

سنقوم بتعريف وظيفة تقوم بالعملية وترجع لنا قيمة value :

'تعريف الوظيفة، والتي تقبل مصفوفة كمتغير أثناء الاستعمال
Private Function GetValue(l As List(Of KeyValuePair(Of Integer, String)), key As Integer)
    Dim d As Dictionary(Of Integer, KeyValuePair(Of Integer, String)) = l.ToDictionary(Function(x) x.Key)
    If d.ContainsKey(key) Then
  'value ارجاع القيمة 
        Return d.Item(key).Value
    Else
        'value نعيين قيمة افتراضية تُسترجع في حالة عدم تواجد القيمة
    End If
End Function

طريقة استعمال الوظيفة :

'تعريف مصوفة 
Dim l As List(Of KeyValuePair(Of Integer, String))
l = GetReasons()
Dim intKey as Integer = 1 'رقم بداية المصفوفة
'value الوظيفة المستعملة لاستخراج القيم 
Dim strValue as String = l.ToDictionary(Function(x) x.Key).Item(intKey).Value

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن