0
組數據表的結果,我有以下的DataTable如何使用LINQ查詢表達式
DataTable BookTable = new DataTable();
//Add columns in Book Table
BookTable.Columns.Add("BookCategory", typeof(string));
BookTable.Columns.Add("BookName", typeof(string));
//Add rows in Book Table
BookTable.Rows.Add("Programming", "C# basics");
BookTable.Rows.Add("Programming", "Java basics");
BookTable.Rows.Add("Networking", "Networking Basics");
BookTable.Rows.Add("Database", "Intro to Database");
我想篩選出書類別列的基礎這對圖書名字,我寫了下面的Lambda表達式
var BooksList = from Book in BookTable.AsEnumerable()
group Book by Book.Field<string>("BookCategory") into g
let list = g.ToList()
select new
{
BookCategory = g.Key,
BookNames = list.Select(x => x.Field<string>("BookName").ToString()) };
現在我必須按以下格式打印出來;
- 編程
- C#基礎
- Java基礎
- 網絡
- 網絡基礎
- 數據庫
- 簡介數據庫
我想知道我怎麼可以從下面的代碼書分類買到這本書的名稱;
foreach(var Book in BooksList)
{
Console.WriteLine(Book.BookCategory);
//logic to Obtain Book Names Here ;
}
嗯...'Book.BookNames'?! –
它正在返回: '{System.Linq.Enumerable.WhereSelectListIterator}'Not Book Names in String in String。 –
Asif
在你顯示的代碼中你沒有註釋'.Where',那麼爲什麼你會得到一個'WhereSelectListIterator'?這不是真正的代碼嗎?此外,你有什麼代碼試過,是什麼導致這個異常(這是一個例外?)? –