اذهب إلى المحتوى
  • 0

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

Badraoui

السؤال

أتوفر على كائن من نوع 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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...