• 0

ماهو مقابل array_count_values على vb.net؟

أنا جديد على Vb.net حيث سبق لي التعامل مع بيئة php ، وأريد السؤال عن بديل للدالة array_count_values على Vb.Net؟ هل يوجد؟

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


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

يمكن، وذلك بإنشاء  مصفوفة تتضمن أسماء الماركات، ثم المرور على قيم المصفوفة وحساب عدد تكرار كل قيمة موجودة بها.

وهذه الطريقة لمعرفة عدد 'HP' الموجودة في المصفوفة مثلا، بخلاف أنه يمكننا معرفة عدد القيم الموجودة بالمصفوفة بشكل كلي، لكن هذه الشيفرة لعدّ كل قيمة متكررة وإظهارها على شكل القيمة- عدد تكرارها، بهذا الشكل:

Dim myarray As String() = {"HP", "IBM", "HP", "HP", "MICROSOFT"} 

 Dim occur = myarray.GroupBy(Function(f) f).Select( _
                                        Function(f1) New With {.Item = f1.Key, .Count = f1.Count()})

Dim out As String
For Each itm In occur
    out = out & itm.ToString & vbCrLf
Next
MsgBox(out)

لنحصل في الأخير على نتائج مماثلة لهذه:

{Item = MICROSOFT, Count = 1}
{Item = HP, Count = 3}
{Item = IBM, Count = 1}

 مثال آخر :

  • ننشئ مصفوفة:
Dim arr As New List(Of String)
  • نضيف لها بعض القيم:
arr.Add(CurrentString)
  • القيم المضافة :
Jane
Jane
Matt
Matt
Matt
Matt
Jane
Paul
  • ربط كل قيمة بالقيم المشابهة لها:
Dim Summary = From a In arr Group By Name = a Into Group _
              Select Name, Cnt = Group.Count()
  • حساب القيم المتشابهة:
For Each elem In Summary
    'Output elem.Name
    'Output elem.Cnt 
Next
  • النتيجة المحصل عليها في آخر المثال:
Name = "Jane", Cnt = 3 
Name = "Matt", Cnt = 4
Name = "Paul", Cnt = 1
1 شخص أعجب بهذا

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


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

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

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

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


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

تسجيل الدخول

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


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