2010-11-11 26 views
1

我有一個數據集DS有兩個字段,AllowInputINT類型名
我想獲得所有TypeName作爲逗號分隔的字符串,其中AllowInput == 1如何拉從一個DataTable過濾數據,並創建一個字符串

這是我迄今爲止所做的。

string keys = string.Join(",", ds.Tables[0].Rows.Cast<DataRow>(). 
       Where(x => x["AllowInput"].ToString() == "1"). 
       ToArray(). 
       Cast<DataRow>(). 
       Select(x => x["TypeName"].ToString()). 
       ToArray()); 

This works。 但代碼需要是這個冗長嗎?

回答

2

你也許可以把下列2行:

  ToArray(). 
      Cast<DataRow>(). 
1

你也可以考慮使用DataRow extensions Linq中定義的DataSet

喜歡的東西:

string keys = string.Join(",", from row in table.AsEnumerable() 
           where (row.Field<int>("AllowInput") == 1) 
           select row.Field<string>("TypeName"));