مشاركة عبر


كيفية القيام بما يلي: يجمع متوازى واستعلامات LINQ التسلسلي

يوضح هذا المثال كيفية إلى استخدام AsSequentialأسلوب إلى إرشاد PLINQ إلى معالجة operaإلىrs اللاحقة الجميع في الاستعلام بشكل متسلسل. على الرغم من متسلسلة معالجة هو بشكل عام أبطأ من متوازى، ففي بعض الأحيان هو اللازمة للحصول على نتائج الصحيحة.

مثال

يظهر المثال التالي سيناريو واحد في أي AsSequentialهو مطلوب namely للاحتفاظ بالترتيب الذي تم establهوhed في سابق عبارة WHERE في الاستعلام.

' Paste into PLINQDataSample class
Shared Sub SequentialDemo()

    Dim orders = GetOrders()
    Dim query = From ord In orders.AsParallel()
                 Order By ord.CustomerID
                 Select New With
                 {
                     ord.OrderID,
                     ord.OrderDate,
                     ord.ShippedDate
                 }

    Dim query2 = query.AsSequential().Take(5)

    For Each item In query2
        Console.WriteLine("{0}, {1}, {2}", item.OrderDate, item.OrderID, item.ShippedDate)
    Next
End Sub
// Paste into PLINQDataSample class.
static void SequentialDemo()
{
    var orders = GetOrders();
    var query = (from ord in orders.AsParallel()
                 orderby ord.CustomerID
                 select new
                 {
                     Details = ord.OrderID,
                     Date = ord.OrderDate,
                     Shipped = ord.ShippedDate
                 }).
                        AsSequential().Take(5);
}

التحويل البرمجي للتعليمات البرمجية

إلى ترجمة وتشغيل هذه تعليمات برمجية، ولصقه في إلى نموذج بيانات PLINQللمشروع، قم بإضافة خط إلى استدعاء الأسلوب من Main، اضغط F5.

راجع أيضًا:

المبادئ

متوازى LINQ (PLINQ)