簡體   English   中英

System.Data.DataRowCollection'不包含'Cast'的定義

[英]System.Data.DataRowCollection' does not contain a definition for 'Cast'

我被困在這里,以下方法顯示錯誤

'System.Data.DataRowCollection'不包含'Cast'的定義,並且最好的擴展方法重載'System.Data.EnumerableRowCollectionExtensions.Cast(System.Data.EnumerableRowCollection)'有一些無效的參數

如何解決這個我試過datatable.AsEnumerable但不會工作。 代碼中的粗體顯示此錯誤。 請幫幫我。

這是代碼

   public void DataExport(string SelectQuery)// server code
   {
       try
       {
           using (var dt = new DataTable())
           {
               using (var da = new SqlDataAdapter(SelectQuery, con))
               {
                   da.Fill(dt);
                   var rows =
                       **from dr in dt.Rows.Cast<DataRow>()**
                       select String.Join(
                           ",",
                           **from dc in dt.Columns.Cast<DataColumn>()**
                           let t1 = Convert.IsDBNull(dr[dc]) ? "" : dr[dc].ToString()
                           let t2 = t1.Contains(",") ? String.Format("\"{0}\"", t1) : t1
                           select t2);



                   using (var sw = new StreamWriter("somepath"))
                   {
                       // sw.WriteLine(header);
                       foreach (var row in rows)
                       {
                           sw.WriteLine(row);
                       }
                       sw.Close();
                   }
               }
           }
       }
       catch (Exception e) { Console.WriteLine(e.Message); }
   }

您必須將System.Linq引用添加到您的文件中。

using System.Linq;

Enumerable.Cast方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM