50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

سوالی در مورد Linq (C#)

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

بر فرض ما یک لیستی داریم که عضویت کاربر های وب سایت رو نشون میده (معمولی،مدیر کل، مدیر بخش برنامه نویسی ،مدیر بخش شبکه)

اگر بنده بخوام مقدار عادی رو در لیستم بریزیم مثلا از کد زیر استفاده میکنم

q = q.Where(i => i.Karbar== "معمولی").ToList();

اگر ما بخواهیم دوتا مقادر رو داخل q که خودش از نوع لیست هست بریزیم باید چیکار کنیم؟؟؟

مثلا میخواهیم مدیر کل و مدیر بخش رو داخل q ذخیره کنیم و بقیه رو رد کنه؟

پرسیده شده در 1397/02/28 توسط

8 پاسخ

0

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

q = q.Where(i => i.Karbar== "معمولی").ToList();


w = w.Where(i => i.Karbar== "فعال").ToList();

حالا چجوری این دوتا رو میشه به یک لیست تبدیل کرد؟ اگه اینم بدونم میشه مشکلمو حل کنم

پاسخ در 1397/02/30 توسط
1

فکر کنم کدش شبیه این میشه :

q = q.Where(i => i.Karbar== "معمولی" || i => i.Karbar== "عامل").ToList();

پاسخ در 1397/02/28 توسط
1

|| رو تو لینک سرچ کنید :

using (ServiceContext svcContext = new ServiceContext(_serviceProxy))
{
 var query_andor1 = from c in svcContext.ContactSet
                    where ((c.Address1_City == "Redmond" ||
                    c.Address1_City == "Bellevue") &&
                    (c.CreditLimit.Value != null &&
                    c.CreditLimit.Value >= 200))
                    select c;

 foreach (var c in query_andor1)
 {
  System.Console.WriteLine(c.LastName + ", " + c.FirstName + " " +
   c.Address1_City + " " + c.CreditLimit.Value);
 }
}

پاسخ در 1397/02/30 توسط
1

خدا خیرتون بده ! خب این میشه حالت OR دیگه ! .

karbar که همزمان هر دو مقدار "معمولی" و "فعال" رو نداره ! پس همون OR رو استفاده کنید !

پاسخ در 1397/02/30 توسط
1

من این حالت OR رو توی search ها دیدم ؛ اما ظاهرا حالت AND بسیار ساده تره :



 var q= from a in svcContext.AccountSet
                    where a.Name.Contains("Contoso")
                    where a.Address1_City == "Redmond"
                    select a;



اینم لینکش ، اتفاقا OR رو هم داره.

پاسخ در 1397/02/29 توسط
0

سلام دوست گرامی متاسفانه اصلا این ساختارش صحیح نیست پس این کد درست نیست در ضمن من دنبال ( یا ) نیستیم من میخوام هر دو رو بگیرم یعنی (&&) البته اینها در linq کاربردی ندارن

بازم ممنون از پاسخ گوییتون

پاسخ در 1397/02/29 توسط
0

از این روش استفاده کردم

q = q.Where(i => i.Karbar== "معمولی").ToList();


w = w.Where(i => i.Karbar== "فعال").ToList();


 q = q.Concat(w).ToList();

من از این کد استفاده کردم ولی نمی دونم استاندارد هست یا نه

بی زحمت مثالی از حالت OR بفرستید من تو لینکی که فرستادین نتونستم پیدا کنم

پاسخ در 1397/02/30 توسط
0

دستتون درد نکنه ولی منظور من اینم نبود متاسفانه این And هست ولی برای دو ستون در حالی که من میخوام از یک ستون دو نوع مختلف داده رو بگیرم اگر به شکل بالا بنویسم کار نمی کنه چون در where اول داده ها از فیلتر رد میشن و در شرط دوم نمی تونیم برسی کنیم

پاسخ در 1397/02/30 توسط

پاسخ شما