مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

fatimajahani

عضویت از 1393/04/11

نحوه نمایش رکوردها بصورت تصافی در سی شارپ

  • یکشنبه 12 دی 1400
  • 12:40
تشکر میکنم

با سلام و خسته نباشید

میتونید راهنمایی کنید این کوئری LINQ را به چه صورت تغییر بدم که رکوردها به صورت تصافی نمایش دهد.

سپاس

list<v_question> lst = (from p in db.v_question 
							orderby p.typeExamId
							where p.azId == azId && 	p.sId == sId 
							select p).ToList();

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

علی یوسفی

عضویت از 1400/05/20

  • یکشنبه 19 دی 1400
  • 17:21

خیلی سادست دوست خوبم. کافیه از این تابع استفاده کنین که رندوم انتخاب میکنه، و take هم که میگه چند تا رندوم برگردونم.

 var Result = yourlist.OrderBy(x => Guid.NewGuid()).Take(5);	
کاربر سایت

fatimajahani

عضویت از 1393/04/11

  • دوشنبه 29 فروردین 1401
  • 19:01

سلام

لطف می کنید نحوه کارکرد این تابع را توضیح بدین.

Guid.NewGuid()

و چطور میتونم سوالات را براساس نوع آن (تستی، دوگزینه، تشریحی) بصورت تصادفی نمایش داد.

ممنون میشم راهنمایی کنید.

کاربر سایت

علی یوسفی

عضویت از 1400/05/20

  • دوشنبه 29 فروردین 1401
  • 19:21

سلام، این تابع به صورت رندوم رکوردهارو قرار میده و وقتی همراه با take بیاد درواقع رندوم از بین  رکورد ها چندتارو انتخاب میکنه...

برای اینکه از انواع مختلف سوال یه لیست تهیه کنین راهش اینه  که یه لیست خروجی از جنس سوالا بسازین، سپس چند تا لیست رندم با تعداد 5 رکورد مثلا از سوالات تشریحی و تستی و ... بسازین بعد اونارو به هم بچسبونین (concat کنین) و در لیست کلی اولیه قرار بدین... به این شکل :

 

 List<Question> MyRandomList= new List<Question>();
 var TempListTashrihi = db.Question.Where(a=>a.Tashrihi==true).OrderBy(p => Guid.NewGuid()).Take(5);
 var TempListTesti= db.Question.Where(a=>a.Testi==true).OrderBy(p => Guid.NewGuid()).Take(5);
 var TempListDogozine= db.Question.Where(a=>a.Dogozine==true).OrderBy(p => Guid.NewGuid()).Take(5);
 MyRandomList = TempListTashrihi.Concat(TempListTesti).Concat(TempListDogozine);
 return MyRandomList;

الان 15 تا سوال (5 تا تستی، 5 تا دو گزینه و 5 تا تشریحی) دارین که کاملا رندوم انتخاب شده اند.

کاربر سایت

fatimajahani

عضویت از 1393/04/11

  • چهارشنبه 31 فروردین 1401
  • 17:30

سلام، این کد رو تست کردم ولی بصورت تصادفی نمایش نمی دهد.

لطف می کنید اگه راه حل دیگه ای برای نمایش سوالات تصادفی براساس نوع (تستی، تشریحی، دوگزینه ای) دارید راهنمایی کنید.

سپاس

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)