PDA

View Full Version : if else in where condition



meysam_online2012
شنبه 30 تیر 1397, 10:46 صبح
سلام دوستان

چطور میشه داخل where یه شرط گذاشت که اگه درست بود یه کار کنه و اگه اشتباه بود یه کار دیگه

مثلا اگه لیست حاوی یک عدد بود خود عدد رو به لیست اضافه کنه وگرنه عدد صفر

endList.Where(q=>q.group=="article").Where(q=>endList.Select(w=>w.Id).Contains(q.Id)).Select(q=>q.countInt).else(q=>q.countInt=0)

ali_md110
شنبه 30 تیر 1397, 11:10 صبح
اپراتور ؟ میتونید استفاده کنید
مثال:


db.model.where(x=> myvar==1?x.id>0:id<100)

توضیح اپراتور ؟
myvar یک متغیر یا فرض کنید یک پارامتر هست و بوسیله اپراتور ؟ چک میکنیم اگر مقدار 1 داشت id های بیشتر از 0 را فیلتر کن وگرنه id هایی که کمتر از 100 هستند را فیلتر کن


و در جواب مثال خودتون: مثلا اگه لیست حاوی یک عدد بود خود عدد رو به لیست اضافه کنه وگرنه عدد صفر
اینکار بوسیله دستور where امکان ندارد چون where وظیفه ی فیلتر کردن را دارد نه اضافه کردن
شما باید در قسمت select همین اپراتور ؟ را بکار ببرید و ایتمی اضافه یا کم کنید