تغییر خروجی یک دستور کوئری در لینک
بسم الله الرحمن الرحیم
آموزش select new در LINQ
در بسیاری از کوئری های LINQ ما نیاز خواهیم داشت، تا نتیجه ی کوئری را به کلاس دیگری Bind کنیم برای این کار مثالی را در این جا بررسی خواهیم کرد.
بر روی یک Table کوئریی را می خواهیم اجرا کنیم، در این کوئری فقط فیلدهای Id , Name را لازم خواهیم داشت، این دو فیلد را باید تبدیل به یک کلاس دیگر کنیم.
برای اینکار کد ما به صورت زیر خواهد بود:
<>
جستجو در LINQ
بسم الله الرحمن الرحیم
جستجو یک لیست در عناصر لیست دیگر
روش های زیادی برای انجام یک کار وجود دارد و در بسیاری از مواقع تمامی این روش ها شما را به مقصودتان می رساندد اما طبیعتا همه ی آنها روش درست نیستند. یکی از موارد زیادی که ممکن است برای شما نیز اتفاق بیافتد جستجو کردن یک لیست از اطلاعات درون یک لیست دیگر است طبیعتا اولین راه حل نوشتن یک حلقه (f
دستور Any
بسم الله الرحمن الرحیم
دستور Any
با استفاده از دستور Any شما می توانید وجود یک شی را در یک لیستی از اشیا بررسی کنید.
یک مثال ساده از این دستور به صورت زیر است
class Pet { public string Name { get; set; } public int Age { get; set; } public bool Vaccinated { get; set; } } public static void AnyEx3() { // Create an array of Pets. Pet[] pets = { new Pet { Name="Barley", Age=8, Vaccinated=true }, new Pet { Name="Boots", Age=4, Vaccinated=false }, new Pet { Name="Whiskers", Age=1, Vaccinated=false } }; // Determine whether any pets over age 1 are also unvaccinated. bool unvaccinated = pets.Any(p => p.Age > 1 && p.Vaccinated == false); Console.WriteLine( "There {0} unvaccinated animals over age one.", unvaccinated ? "are" : "are not any"); } // This code produces the following output: // // There are unvaccinated animals over age one.
تفاوت دستور Select با SelectMany در LINQ
بسم الله الرحمن الرحیم
تفاوت دستور Select با SelectMany در LINQ
می توانید مقاله آموزش Linq به زبان فارسی را از این قسمت مشاهده کنید.
دو عملگر Select و SelectMany عملگر های projection هستند. عملگر Select برای انتخاب مقادیر از یک مجموعه است اما عملگر SelectMany برای انتخاب مقادیر یک مجموعه از مجموعه دیگر است.
اپراتور یا عملگر Select یک مقدار را به عنوان خروجی به ش
اضافه کردن متد به LINQ
بسم الله الرحمن الرحیم
می خواهیم به تمامی لیست هایی که از نوع double ایجاد می شوند یک متد برای پیدا کردن عنصر میانی آنها بنویسیم
public static class LINQExtension
{
public static double Median(this IEnumerable<double> source)
{
if (source.Count() == 0)
{
throw new InvalidOperationException("Cannot compute median for an empty set.");
}
var sortedList = from number in source
orderby number
select number;
int itemIndex = (int)sortedList.Count() / 2;
if (sortedList.Count() % 2 == 0)
{
//
کوئری با تاخیر
بسم الله الرحمن الرحیم