PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Linq را توسعه دهید!



آبجی
14th February 2010, 12:12 AM
اکثر Extension Method هایی که اینترفیس <IEnumerable<T رو گسترش میدن، معادلی در LINQ دارن یا میشه با ترکیب دستورات LINQ یا Extension Method ها، شبیه سازی رفتار طرف مقابل رو ایجاد کرد.
خوشبختانه به لطف Extension Method ها، میشه متدهای جدیدی رو برای اینترفیس <IEnumerable<T ایجاد کرد.
به عنوان مثال، متدی برای بررسی صحت فرمت آدرس ایمیل تمامی آیتم های موجود در یک لیست:
public static class EnumerableExtended
{
public static bool IsValidEmail(this IEnumerable source)
{
Regex regex = new Regex(@"^([\w\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$");

foreach (var item in source.ToArray())
{
if (!regex.IsMatch(Convert.ToString(item)))
{
return false;
}
}

return true;
}
} از این پس، متد IsValidEmail نیز به مجموعه متدهای اینترفیس <IEnumerable<T اضافه شده و هر نوعی که این اینترفیس رو پیاده سازی کرده باشه (از جمله لیست های جنریک)، می تونن از این متد استفاده کنن.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد