2
A
回答
4
如何:
DataRow row = ...
var values = from DataColumn column in row.Table.Columns
where column.ColumnName.StartsWith("FK")
select Convert.ToString(row[column]);
var valueArray = values.ToArray();
如果你想要的結果作爲一個地圖,而不是,你可以這樣做:
var result = row.Table
.Columns
.Cast<DataColumn>()
.Where(column => column.ColumnName.StartsWith("FK"))
.ToDictionary(column => column.ColumnName,
column => Convert.ToString(row[column]));
2
DataTable dt = new System.Data.DataTable();
dt.Columns.Add("FKStuff");
dt.Columns.Add("OtherStuff");
dt.Columns.Add("FKAndMoreStuff");
var row = dt.Rows.Add("ABC", "DEF", "GHI");
var vals = dt.Columns.Cast<DataColumn>().Where(c => c.ColumnName.StartsWith("FK")).Select(col => row[col]).ToArray();
2
您可以使用此:
var values = row.Table.Columns.Cast<DataColumn>()
.Where(x => x.ColumnName.StartsWith("FK"))
.Select(x => row[x].ToString())
.ToArray();
2
var sa = (from DataColumn x in row.Table.Columns
where x.ColumnName.StartsWith("FK")
select row[x].ToString()).ToArray();
這裏的邏輯是獲取名稱以「FK」開頭的那些列的序列,然後爲每個列選擇該列的行值,將其轉換爲字符串,然後從結果中創建一個數組。如果你不需要一個實際的數組,那麼就離開.ToArray()
和額外的一組括號。
相關問題
- 1. 複雜的LINQ SelectMany
- 2. LINQ DataRow的結果
- 3. LINQ複雜查詢
- 4. 複雜LINQ查詢
- 5. 複雜的LINQ查詢
- 6. LINQ - 複雜的排序
- 7. 複雜的LINQ查詢
- 8. 複雜的LINQ查詢
- 9. 複雜的LINQ查詢
- 10. 複雜的LINQ查詢
- 11. 非常複雜的linq
- 12. 複雜動態LINQ查詢
- 13. 複雜SQL到LINQ在C#
- 14. 複雜EF圖LINQ加入
- 15. XDocument LINQ複雜語法
- 16. 轉換SQL(複雜),以LINQ
- 17. DataRow索引器的時間複雜度是多少?
- 18. LINQ從DataTable中選擇DataRow
- 19. LINQ過濾從一個DataRow
- 20. 鑄造Linq IEnumerable <Datarow>
- 21. 使用LINQ排序DataRow []使用LINQ
- 22. 好的複雜的LINQ到SQL示例?
- 23. LINQ to SQL的「複雜」的選擇
- 24. Linq to Entities複雜的動態搜索
- 25. LINQ查詢的複雜對象
- 26. 稍微複雜的LINQ for C#
- 27. 複雜的Linq到實體查詢
- 28. LINQ到Enity複雜的查詢
- 29. LINQ - Groupy通過複雜的XML
- 30. 用Linq查詢複雜的Json
如果至少有一個值不是字符串而是別的東西(一個int也許),那麼就會崩潰。使用'ToString'或'Convert.ToString'如在答案中顯示的那樣更安全。 –