سؤال

وأنا أحاول أن تنفيذ استعلام LINQ بسيط على الممتلكات أعمدة DataTable و:

from c in myDataTable.Columns.AsQueryable()
    select c.ColumnName

ولكن ما أنا عليه هو هذا:

<اقتباس فقرة>   

وتعذر العثور على تنفيذ نمط الاستعلام عن نوع المصدر 'System.Linq.IQueryable. 'اختر' غير موجود. النظر في تحديد بشكل واضح نوع المتغير مجموعة "ج".

وكيف يمكنني الحصول على DataColumnCollection للعب لطيفة مع LINQ؟

هل كانت مفيدة؟

المحلول

وماذا عن:

var x = from c in dt.Columns.Cast<DataColumn>()
        select c.ColumnName;

نصائح أخرى

ويمكنك أيضا استخدام:

var x = from DataColumn c in myDataTable.Columns
        select c.ColumnName

وانها لن تفعل فعال نفس كود ديف: "في تعبير استعلام، متغير التكرار كتابتها بشكل صريح يترجم إلى استدعاء المصبوب (IEnumerable)"، وفقا لفي Enumerable.Cast<TResult> Method في MSDN.

ومع الطريقة ينق بناء الجملة:

var x = myDataTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top