2013-02-18 82 views
0

我有一個表格,裏面填充了我的數據庫中的表格,我給每個表格一個數字,現在我想要 打開表格並根據用戶選擇的數字顯示其所有值。按索引獲取列表值

代碼

List<System.Data.Linq.Mapping.MetaTable> tables = db.Mapping.GetTables().ToList(); 



      for (int i = 0; i < tables.Count(); i++) 
      { 
       var s = tables[i].TableName; 
       Console.WriteLine(i+". "+s); 
      } 
      Console.WriteLine("Choose value to open"); 
      string str = Console.ReadLine(); 
      int number = Convert.ToInt32(str); 

      List<System.Data.Linq.Mapping.MetaTable> query = 
      from t in tables[number].TableName 
      select t; <--- stuck here :*(
     } } } 
+0

到底是什麼問題了嗎? – Rik 2013-02-18 09:57:49

+0

你想從'tables [number] .'中選擇什麼,'TableName'只是一個字符串,所以你查詢只是返回一個'IEnumerable '而不是'List ' – 2013-02-18 10:00:31

回答

1
如果你想在一個新行的每個值

,假設你的數據的ToString輸出是可以接受的

Console.Write(tables[number].Aggregate(string.Empty, (a, b) => a + Environment.NewLine + b)) 
+0

嗯不工作仍然..我可以只是在查詢中做到這一點? – darko 2013-02-18 09:49:31

+0

它以什麼方式不起作用?它不會編譯?它是否錯誤?...查詢中的console.writeline並不是真正適合做事情的地方,微軟省略了相當於linq的foreach(做東西),因爲你不應該在查詢中用副作用調用事物 – 2013-02-18 09:57:02