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

آموزش بخش بندی کردن داده ها در Linq

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

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

بخش بندی کردن داده ها (Partitioning)

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

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

آموزش Linq

در زیر عملگرها بخش بندی با شرح عملکرد به نمایش در آمده است. 

اسم عملگر

شرح

نحوه ی استفاده از آن در زبان C#

نحوه ی استفاده از آن در زبان VB

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

Skip

المان های یک مجموعه را به تعداد مشخص شده از اول حذف کرده و در خروجی لحاظ نمی کند.

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

Skip

Enumerable.Skip(Of TSource)

Queryable.Skip(Of TSource)

SkipWhile

مادام اینکه شرط (مشخص شده در تابع) برقرار است المان ها را در خروجی لحاظ می کند.

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

Skip While

Enumerable.SkipWhile

Queryable.SkipWhile(Of TSource)

Take

المان های مجموعه را از اول تا مکان مشخص شده گرفته و در خروجی لحاظ می کند.

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

Take

Enumerable.Take(Of TSource)

Queryable.Take(Of TSource)

TakeWhile

درست برعکس SkipWhile عمل می کند. بر اساس شرط مشخص شده در تابع المان ها را برمی گرداند تا زمانی که دیگر شرط برقرار نباشد.

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

Take While

Enumerable.TakeWhile

Queryable.TakeWhile(Of TSource)

 

مثال

Skip

مثال زیر با استفاده از عبارت Skip در زبان VB، چهار رشته ی اول را نادیده گرفته و باقی المان ها را در خروجی لحاظ می کند.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

 

Dim query = From word In words

           Skip 4

 

Dim sb As New System.Text.StringBuilder()

For Each str As String In query

   sb.AppendLine(str)

Next

 

' Display the results.

MsgBox(sb.ToString())

 

' This code produces the following output:

 

' keeps

' the

' doctor

' away

 

SkipWhile

کد زیر با بهره گیری از دستور SkipWhile در زبان VB، رشته هایی را که حرف اول آن ها "a" می باشد، در خروجی لحاظ نمی کند.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

 

Dim query = From word In words

           Skip While word.Substring(0, 1) = "a"

 

Dim sb As New System.Text.StringBuilder()

For Each str As String In query

   sb.AppendLine(str)

Next

 

' Display the results.

MsgBox(sb.ToString())

 

' This code produces the following output:

 

' day

' keeps

' the

' doctor

' away

 

Take

کد زیر با استفاده از عبارت Take در زبان VB، تنها دو المان اول آرایه را گرفته و در خروجی بازیابی می کند.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

 

Dim query = From word In words

           Take 2

 

Dim sb As New System.Text.StringBuilder()

For Each str As String In query

   sb.AppendLine(str)

Next

 

' Display the results.

MsgBox(sb.ToString())

 

' This code produces the following output:

 

' an

' apple

TakeWhile

دستور زیر تنها آن المان هایی را در خروجی لحاظ می کند که طول یا تعداد کاراکترهای آن ها برابر با 5 یا کمتر باشد.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

 

Dim query = From word In words

           Take While word.Length <6

 

Dim sb As New System.Text.StringBuilder()

For Each str As String In query

   sb.AppendLine(str)

Next

 

' Display the results.

MsgBox(sb.ToString())

 

' This code produces the following output:

 

' an

' apple

' a

' day

' keeps

' the

1395/01/25 2588 1167
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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