کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش عملیات تبدیل نوع داده ای در Linq

دوره آموزشی Asp.net

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

عملیات تبدیل نوع داده ای (Conversion)

متدهای Conversion نوع داده ای اشیا ورودی را تغییر می دهند (نوع شی را به نوع دیگری تبدیل می کنند).

عملیات تبدیل شی در LINQ بسیار پرکابرد می باشد. به عنوان مثال می توان به موارد زیر اشاره کرد:

1. متد Enumerable.AsEnumerable<TSource>، نوع IEnumerable<T> را به یک نوع دیگر IEnumerable<T> تبدیل می کند.

2. متدهایEnumerable.ToArray<TSource>, Enumerable.ToDictionary<TSource, TKey>,Enumerable.ToList<TSource> را می توان برای اعمال اجرای بلادرنگ کوئری مورد استفاده قرار داد. 

جدول زیر تمامی متدهایی که برای تبدیل نوع شی بکار می روند را همراه با شرح عملکرد فهرست کرده است. متدهایی که اسم آن ها با "AS" شروع می شوند نوع static شی را تغییر می دهند اما المان های آن را نمی شمارند. متدهایی که اسم آن ها با "To" شروع می شود، المان های مجموعه ی ورودی را برشمرده و سپس آن ها را داخل نوع مجموعه ی مربوطه می ریزد.

اسم متد

شرح

نحوه ی نگارش در زبانC#

ساختار نگارشی در زبان VB

اطلاعات بیشتر

AsEnumerable

خروجی از نوع IEnumerable<> > را برمی گرداند.

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.AsEnumerable

AsQueryable

یک IEnumerable از نوع جنریک را به صورت IQueryable از نوع جنریک برمی گرداند.

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Queryable.AsQueryable

Cast

المان های تشکیل دهنده یک مجموعه را به نوع مشخص شده تبدیل می کند.

استفاده از یک متغیر با نوع مشخص مانند این نمونه:

from string str in words

From …As …

Enumerable.Cast

Queryable.Cast

OfType

المان های یک مجموعه را با توجه به قابلیت و امکان تبدیل آن ها به نوع مشخص، فیلتر می کند (با بهره گیری از این عملگر می توان المان هایی که دارای نوع مشخص هستند را از مجموعه واکشی کنیم).

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.OfType

Queryable.OfType

ToArray

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

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.ToArray

ToDictionary

نوع مجموعه ی ورودی را به Dictionary

تبدیل می کند. این متد سبب اجرای بلادرنگ کوئری می شود.

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.ToDictionary

ToList

مجموعه را به لیست Listتبدیل می کند. این متد با فراخوانی سبب اجرای بی درنگ کوئری می شود. 

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.ToList

ToLookup

مجموعه یا لیست ورودی را به نوع Lookup 

تبدیل می کند (المان های لیست را در یک دیکشنری یک به چند قرار می دهد). سبب اجرای بلادرنگ کوئری می شود.

پشتیبانی نمی شود.

پشتیبانی نمی شود.

Enumerable.ToLookup

 

 

مثال

کد زیر از یک متغیر با نوع مشخص برای تبدیل نوع استفاده می کند، سپس به عضو نوع جدید دسترسی پیدا می کند.

class Plant

{

   public string Name { get;set;}

}

 

class CarnivorousPlant : Plant

{

   public string TrapType { get;set;}

}

 

static void Cast()

{

   Plant[] plants = new Plant[] {

       new CarnivorousPlant { Name = "Venus Fly Trap", TrapType = "Snap Trap" },

       new CarnivorousPlant { Name = "Pitcher Plant", TrapType = "Pitfall Trap" },

       new CarnivorousPlant { Name = "Sundew", TrapType = "Flypaper Trap" },

       new CarnivorousPlant { Name = "Waterwheel Plant", TrapType = "Snap Trap" }

   };

 

   var query = from CarnivorousPlant cPlant in plants

               where cPlant.TrapType == "Snap Trap"

               select cPlant;

 

   foreach (Plant plant in query)

       Console.WriteLine(plant.Name);

 

   /* This code produces the following output:

 

       Venus Fly Trap

       Waterwheel Plant

   */

}

1395/01/26 3050 1215
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...