دستور where در سی‌ شارپ

دستور where در سی‌ شارپ
فهرست مقاله [نمایش]

    زبان برنامه‌نویسی سی‌ شارپ به دلیل امکانات فراوان و سادگی استفاده، یکی از پرطرفدارترین زبان‌ها در دنیای برنامه‌نویسی است. یکی از قابلیت‌های مفید این زبان، دستور Where است که به شما امکان می‌دهد داده‌ها را با استفاده از شرایط مختلف فیلتر کنید. در این مقاله، قصد داریم با استفاده از زبانی ساده و مثال‌های عملی، کاربرد این دستور را بررسی کنیم تا هر فردی، حتی مبتدی‌ترین افراد، به راحتی آن را درک کنند.

    چرا از دستور Where استفاده می‌کنیم؟

    دستور Where به شما امکان می‌دهد تا محدودیت‌هایی را روی داده‌های خود اعمال کنید و تنها داده‌هایی را که شرایط خاصی دارند، فیلتر کنید. این دستور، هم در کار با مجموعه‌های داده‌ای (مثل لیست‌ها) و هم در هنگام کار با پارامترهای جنریک بسیار مفید است.

    کاربرد در فیلتر کردن مجموعه‌ها

    در زبان سی‌ شارپ، Where به ما کمک می‌کند تا لیست‌ها یا آرایه‌ها را بر اساس شرایطی که تعریف می‌کنیم، فیلتر کنیم. این کار معمولاً با استفاده از لینک (LINQ) انجام می‌شود، که یک ابزار قدرتمند برای کار با داده‌ها در سی‌ شارپ است.

    استفاده از دستور Where برای فیلتر کردن داده‌ها

    مثال ۱: فیلتر کردن لیست اعداد

    فرض کنید یک لیست از اعداد دارید و می‌خواهید تنها اعدادی که بزرگتر از ۱۰ هستند را انتخاب کنید. در اینجا از دستور Where برای فیلتر کردن استفاده می‌کنیم:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    class Program
    {
       static void Main()
       {
           List<int> numbers = new List<int> { 5, 11, 20, 8, 30 };
           
           // فیلتر کردن اعداد بزرگتر از ۱۰
           var filteredNumbers = numbers.Where(x => x > 10);
           
           foreach(var num in filteredNumbers)
           {
               Console.WriteLine(num);  // خروجی: 11, 20, 30
           }
       }
    }
    

    در این مثال، لیستی از اعداد داریم و با استفاده از دستور Where تنها اعدادی که بزرگتر از ۱۰ هستند فیلتر و چاپ می‌شوند. نتیجه نهایی ۱۱، ۲۰ و ۳۰ است.

    مثال ۲: جستجو در پایگاه داده‌ی کاربران

    فرض کنید در یک پایگاه داده از کاربران اطلاعاتی دارید و می‌خواهید کاربرانی که بالای ۱۸ سال سن دارند را پیدا کنید:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    class User
    {
       public string Name { get; set; }
       public int Age { get; set; }
    }
    
    class Program
    {
       static void Main()
       {
           List<User> users = new List<User>
           {
               new User { Name = "Ali", Age = 22 },
               new User { Name = "Reza", Age = 17 },
               new User { Name = "Sara", Age = 25 }
           };
           
           // فیلتر کاربران بالای ۱۸ سال
           var adultUsers = users.Where(user => user.Age > 18);
           
           foreach(var user in adultUsers)
           {
               Console.WriteLine(user.Name);  // خروجی: Ali, Sara
           }
       }
    }
    

    در این مثال، لیستی از کاربران داریم که شامل نام و سن آن‌هاست. با استفاده از Where، فقط کاربرانی که سن آن‌ها بالای ۱۸ سال است، فیلتر و نمایش داده می‌شوند.

    استفاده از Where با پارامترهای جنریک

    یکی دیگر از کاربردهای قدرتمند دستور Where، در کار با پارامترهای جنریک است. این قابلیت به شما امکان می‌دهد تا بر اساس نوع داده‌هایی که در پارامترهای جنریک تعریف می‌شوند، محدودیت‌هایی اعمال کنید.

    مثال: استفاده از where در جنریک‌ها

    فرض کنید می‌خواهید کلاسی بنویسید که فقط با کلاس‌ها کار کند. در این صورت، می‌توانید از where استفاده کنید تا مطمئن شوید که پارامتر جنریک شما فقط کلاس است:

    public class MyGenericClass<T> where T : class
    {
       public T Data { get; set; }
       
       public void PrintData()
       {
           Console.WriteLine(Data);
       }
    }
    
    class Program
    {
       static void Main()
       {
           MyGenericClass<string> myClass = new MyGenericClass<string>();
           myClass.Data = "Hello World";
           myClass.PrintData();  // خروجی: Hello World
       }
    }
    

    در این مثال، ما از محدودیت where T : class استفاده کرده‌ایم تا مطمئن شویم که پارامتر جنریک T حتماً یک کلاس باشد.

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

    کاربرد در LINQ: دستور Where یکی از رایج‌ترین عملیات‌هایی است که در کوئری‌های LINQ استفاده می‌شود و به شما کمک می‌کند که داده‌ها را فیلتر کنید.

    استفاده از لامبدا: در بسیاری از مثال‌ها، از لامبدا استفاده کردیم که یک راه کوتاه و ساده برای نوشتن توابع در جا است. لامبدا به این صورت نوشته می‌شود: x => x > 10.

    بهینه‌سازی کد: با استفاده از Where، می‌توانید از نوشتن حلقه‌های پیچیده و دست و پا گیر اجتناب کنید و کد خود را خواناتر و بهینه‌تر کنید.

    کاربردهای واقعی در پروژه‌ها

    ۱. فیلتر کردن داده‌های پایگاه داده

    در پروژه‌های واقعی، یکی از کاربردهای اصلی Where، فیلتر کردن داده‌های پایگاه داده است. برای مثال، می‌توانید کاربران یک فروشگاه آنلاین را فیلتر کنید و تنها کسانی که در حال حاضر سفارش فعال دارند را انتخاب کنید.

    ۲. فیلتر کردن لیست‌های طولانی

    فرض کنید در یک سیستم مدیریت محصولات کار می‌کنید و باید محصولات خاصی که در انبار موجود هستند را پیدا کنید. با استفاده از Where می‌توانید به راحتی این محصولات را فیلتر کنید.

    جمع‌بندی

    دستور Where در سی‌ شارپ یکی از ابزارهای قدرتمند برای فیلتر کردن داده‌ها و محدود کردن پارامترهای جنریک است. با استفاده از این دستور، می‌توانید به سرعت داده‌های مورد نیاز خود را استخراج کنید و از نوشتن کدهای پیچیده و طولانی خودداری کنید.

    در این مقاله، تلاش کردیم تا با زبانی ساده و ارائه مثال‌های عملی، نحوه استفاده از دستور Where را به شما توضیح دهیم. اگر به یادگیری بیشتر علاقه دارید، تمرین کردن و استفاده از این دستور در پروژه‌های مختلف می‌تواند به شما کمک کند که در این زبان برنامه‌نویسی ماهرتر شوید.

     

    اگر مایل به یادگیری حرفه‌ای سی‌ شارپ هستید، توصیه می‌کنیم در دوره‌های آموزش سی شارپ ما شرکت کنید. آموزش به صورت عملی و کاربردی ارائه می‌شود و شما را به یادگیری بیشتر ترغیب می‌کند.

    برای کسب اطلاعات بیشتر و تکمیل دانش خود در زمینه سی‌ شارپ، می‌توانید به مقالات زیر مراجعه کنید:

    این مقالات به شما کمک می‌کنند تا دید جامع‌تری از استفاده از دستور where و سایر تکنیک‌های مرتبط با آن در سی‌ شارپ داشته باشید.

    اطلاعات نویسنده
    • نویسنده: تیم تحریریه باگتو

    ارسال دیدگاه

    برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید


    دیدگاه کاربران