السلام عليكم ورحمة الله و بركاته
لماذا الكود التالي لا يعمل
كود :
cm.Parameters.AddWithValue("@uid", IIf(postsnods.Count = postsposters.Count, uidfromname(postsposters(p).InnerText), 0))
cm.Parameters.AddWithValue("@username", IIf(postsnods.Count = postsposters.Count, postsposters(p).InnerText, 0))
ظل يظهر لي خطأ الاندكس خارج الــ ... مع اني اظن الكود يحل الاشكالية
عملت مثال بسيط لعل المشكلة تتضح
كود :
Public Class Form1
Dim lst1 As New List(Of String) From {"1", "2", "3", "4"}
Dim lst2 As New List(Of String) From {"1", "2", "3"}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim i As Integer
For i = 0 To lst1.Count - 1
Dim itm1 As String = lst1(i)
Dim itm2 As String = IIf(lst1.Count = lst2.Count, lst2(i), "")
ListBox1.Items.Add(itm1)
ListBox2.Items.Add(itm2)
Next
End Sub
End Class
انا متاكد اني ناسي شي لكن الى الان لم يتضح لي شي
لان الكود اللي كتبته بالعادة يعالج الخطأ خصوصا السطر:
كود :
Dim itm2 As String = IIf(lst1.Count = lst2.Count, lst2(i), "")
العد بناء على عدد القائمة الاولى وهي اكثر من الاخرى فالمشكلة حتمية لكن ماهو حلها
(30-10-25, 02:39 AM)Zuhare كتب : [ -> ]تعديل
كود :
Public Class Form1
Dim lst1 As New List(Of String) From {"1", "2", "3", "4"}
Dim lst2 As New List(Of String) From {"1", "2", "3"}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim i As Integer
For i = 0 To lst1.Count - 1
Dim itm1 As String = lst1(i)
Dim itm2 As String = ""
If i < lst2.Count Then itm2 = lst2(i)
ListBox1.Items.Add(itm1)
ListBox2.Items.Add(itm2)
Next
End Sub
End Class
شكر الله لك
لم اجربها بعد لاني هجرتها حاليا

لكن الا تعتبر نفس المؤدى؟