PDA

View Full Version : ایجاد حلقه با گردش محدود



pedram_ns
یک شنبه 22 اسفند 1389, 11:17 صبح
با سلام این کد رو در نظر بگیرید:


search = search.Split(" ")

For Each item As String In search
fields += "'%" + item + "%' and search like "
Next

در این کد من عبارت وارد شده توسط کاربر رو تفکیک می کنم و هر کلمه رو طوری تغییر می دم که بر اساس هر دو کلمه جستجو انجام بشه.
کدم رو چطور می تونم تغییر بدم که این حلقه فقط 5 بار تکرار بشه یعنی فقط پنج کلمه اول وارد شده توسط کاربر رو تفکیک و وارد جستجو بشه و از بقیه کلمات صرف نظر کنه؟
ممنون

Behrang_a
یک شنبه 22 اسفند 1389, 11:25 صبح
با سلام این کد رو در نظر بگیرید:


search = search.Split(" ")

For Each item As String In search
fields += "'%" + item + "%' and search like "
Next

در این کد من عبارت وارد شده توسط کاربر رو تفکیک می کنم و هر کلمه رو طوری تغییر می دم که بر اساس هر دو کلمه جستجو انجام بشه.
کدم رو چطور می تونم تغییر بدم که این حلقه فقط 5 بار تکرار بشه یعنی فقط پنج کلمه اول وارد شده توسط کاربر رو تفکیک و وارد جستجو بشه و از بقیه کلمات صرف نظر کنه؟
ممنون

Count نداره اون شئ search ؟ اگه داره از همون استفاده کن بعد توی لوپ یه شمارنده بزار به 5 که رسید break کن

pedram_ns
یک شنبه 22 اسفند 1389, 11:54 صبح
میشه تعداد آیتم های درون search رو شمرد. ولی نمی دونم کد رو دقیقا باید چطور بنویسم که فقط پنج بار حلقه انجام بشه چون حلقه بالا for each هست یعنی برای تمامی ایتمها این کار رو می کنه؟

Behrang_a
یک شنبه 22 اسفند 1389, 12:00 عصر
میشه تعداد آیتم های درون search رو شمرد. ولی نمی دونم کد رو دقیقا باید چطور بنویسم که فقط پنج بار حلقه انجام بشه چون حلقه بالا for each هست یعنی برای تمامی ایتمها این کار رو می کنه؟

آره کل آیتمها رو میچرخه، میتونی به جای Foreach از for next استفاده کنی که وقتی 4امی رو انجام داد از حلقه خارج بشه ، البته تو همون Foreach هم میتونی از حلقه خارج شی

pedram_ns
یک شنبه 22 اسفند 1389, 14:30 عصر
کسی نمی تونه یک نمونه کد بده؟

Behrang_a
یک شنبه 22 اسفند 1389, 15:25 عصر
کسی نمی تونه یک نمونه کد بده؟

خیر :لبخندساده: من VB بلد نیستم اما با سی شارپ الان میدم



int i = 0;

foreach (string Item in Search)
{
if (i ==5)
break;

.....
}

pedram_ns
یک شنبه 22 اسفند 1389, 16:01 عصر
کد شما رد vb به این صورت می شه ولی کمکی نکرد!


Dim i As Integer = 0

For Each Item As String In Search
If i = 5 Then

Exit For

End If
Next

Behrang_a
یک شنبه 22 اسفند 1389, 16:03 عصر
کد شما رد vb به این صورت می شه ولی کمکی نکرد!


Dim i As Integer = 0

For Each Item As String In Search
If i = 5 Then

Exit For

End If
Next


دستورات خودت رو حتما بزار بعد از End If ، امکان نداره Item پنجم رو بررسی کنه !

LadyWonderFul
یک شنبه 22 اسفند 1389, 20:35 عصر
به ازای هر بار اجرای حلقه باید یکی به شمارنده i اضافه بشه.



Dim i As Integer = 0
For Each Item As String In Search
i=i+1
If i = 5 Then
Exit For
End If
Next

Behrang_a
دوشنبه 23 اسفند 1389, 07:43 صبح
به ازای هر بار اجرای حلقه باید یکی به شمارنده i اضافه بشه.



Dim i As Integer = 0
For Each Item As String In Search
i=i+1
If i = 5 Then
Exit For
End If
Next


:لبخند::لبخند::لبخند:
اون رو یادم رفته بود بنویسم :لبخند: