c# - 根据行中的值获取列索引
问题描述
我想根据包含“TOTAL”的第一行中的值获取列索引。我发现根据行值而不是列来获取列索引是完全不同的。
我试过了,它显示列索引是 0 但它应该是 19
var badColumns = dt.Rows[0].ItemArray.Where (c => c.ToString().Contains("TOTAL QTY")).Select((c, i) => i).ToArray();
MessageBox.Show(string.Join(",", badColumns));
解决方案
您的问题是您在索引列之前过滤列,您应该这样做:
var badColumns = dt.Rows[0].ItemArray
.Select((c, i) => new{c,i})
.Where(x => x.c.ToString().Contains("TOTAL QTY"))
.Select(x => x.i)
.ToArray();
MessageBox.Show(string.Join(",", badColumns));
推荐阅读
- sdk - Expo 34:错误未定义不是 _expo.Constants.deviceId 上的对象
- javascript - 如何创建相互依赖的下拉列表
- php - 来自网络邮件地址的 Gmail 图标图像
- powershell - 如何将多个用户移动到多个 OU 从 CSV 导入用户并按部门过滤
- codenameone - 每十分钟本地通知一次
- r - R绘图中粗线的边框
- typescript - TypeScript 泛型只会在简单的情况下推断联合类型
- javascript - 获取嵌套 JSON 对象的数据请求错误 - React/Next.JS
- r - 从数据框列创建字符串并添加分隔符
- python - 如何在 Windows 10 上从 Anaconda 卸载 pip opencv-python?