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'如在答案中显示的那样更安全。 –