زبان برنامهنویسی سی شارپ به دلیل امکانات فراوان و سادگی استفاده، یکی از پرطرفدارترین زبانها در دنیای برنامهنویسی است. یکی از قابلیتهای مفید این زبان، دستور 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 کمک کنند.
- جستجو در لیست در سی شارپ: اگر میخواهید بیشتر در مورد چگونگی فیلتر کردن و جستجو در لیستها بدانید، این مقاله میتواند مفید باشد.
- نحوه جستجو در آرايه سي شارپ: این مقاله روشهای مختلف جستجو در آرایهها را توضیح میدهد، که در فهم بهتر دستور where میتواند مفید باشد.
این مقالات به شما کمک میکنند تا دید جامعتری از استفاده از دستور where و سایر تکنیکهای مرتبط با آن در سی شارپ داشته باشید.
برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربریتان شوید