منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : عدم تكرار عنصر في مصفوفة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السادة
هذا كود  يعرض  3 اسماء   عشوائية
     Dim array As String() = New String(DataGridView1.Rows.Count - 1) {}
        For i As Integer = 0 To DataGridView1.Rows.Count - 1
            array(i) = DataGridView1.Rows(i).Cells("name").Value
        Next
        For i = 1 To 3
            Dim arrNames As Array = array
            Dim rand As New Random
            Dim rndIndex As Integer = rand.Next(0, arrNames.Length)
            Dim rndName As String = arrNames(rndIndex)

            MsgBox(rndName)
        Next

لعدم خبرتي بالمصفوفات  
ارغب في عدم تكرار  عنصر 
اي
اضع شرط  في حالة وجود العنصر  يعرض عنصر بدلا منه
شكرا
هل تعرف بقواعد البيانات - التخزين فيها واستخراج البيانات منها ؟؟

إن كنت تعرف فالحل الأمثل هو : 
أن تجعل برنامجك يستخرج القيم من جدول من قاعدة البيانات باستخدام الخاصية  (distinct) فهي تمنع التكرار..

فيكون الاستعلام المستخدم في ااسلاتعلام عن البيانات هو : 
"select distinct FieldName From TablName"

ثم انسب هذه القيم لمصفوفتك العشوائية .. واستخرج منها ما شئت من قيم ..
انا حضرتك اريدها علي الكود المرسل
للتعليم
ارغب في معرفة كيفية اختبار عنصر في مصفوفة مع عدم التكرا ر
شكرا
السادة الزملاء برجاء الرد
السادة الافاضل
لو سؤالي خطا برجاء التوصيح
او ابجاد حل للتعليم
اخوي اي مصفوفة او اي عنصر تحكم من النوع الذي يحتوي داخله عناصر اخرى يحتوي على 
خاصية Contains وهي مفيدة لمعرفة اذا كان عنصر ما موجود داخل المصفوفة او داخل الليست بوكس مثلا وهكذا
والطريقة بسيطة فقط ضع شرط تحقق If واستخدم الدالة او الخاصية Contains لتعرف هل المصفوفة تحتوي على
العنصر الذي قمت بتمريره كوسيط الى  Contains . 
اذا فعلت هذا فيجب ان ياتي جواب الشرط اما بالنفي او الاثبات وعندها افعل مايتوجب عليك فعله

كود :
If MyArray.Contains(SomeValue) Then
Do somthing if exist
Else
Do somthing if not exist
End If

اخوي اي مصفوفة او اي عنصر تحكم من النوع الذي يحتوي داخله عناصر اخرى يحتوي على 
خاصية Contains وهي مفيدة لمعرفة اذا كان عنصر ما موجود داخل المصفوفة او داخل الليست بوكس مثلا وهكذا
والطريقة بسيطة فقط ضع شرط تحقق If واستخدم الدالة او الخاصية Contains لتعرف هل المصفوفة تحتوي على
العنصر الذي قمت بتمريره كوسيط الى  Contains . 
اذا فعلت هذا فيجب ان ياتي جواب الشرط اما بالنفي او الاثبات وعندها افعل مايتوجب عليك فعله

كود :
If MyArray.Contains(SomeValue) Then
Do somthing if exist
Else
Do somthing if not exist
End If
Dim array As String() = New String(DataGridView1.Rows.Count - 1) {}
For i As Integer = 0 To DataGridView1.Rows.Count - 1
array(i) = DataGridView1.Rows(i).Cells("tname").Value
Next
For i = 1 To 3

Dim arrNames As Array = array
Dim rand As New Random
Dim rndIndex As Integer = rand.Next(0, arrNames.Length)


Dim rndName As String = arrNames(rndIndex)
If array.Contains(rndName) Then

Else

MsgBox(rndName)
End If


Next

لم تضبط معي
برجاء التصويب
شكرا