C#读取CSV构造SQL时List<string>无Length定义报错如何解决
报错修复方案
错误原因
List<T>类型的集合获取元素总数的属性为Count,只有数组类型才使用Length属性获取长度,你代码中lines是List<string>类型,调用Length属性自然会报错。
修复方法
直接修改for循环的判断条件即可,把lines.Length替换为lines.Count:
// 修改前 // for (int i = 1; i < lines.Length; i++) // 修改后 for (int i = 1; i < lines.Count; i++)
额外优化建议
- 你当前代码中已经把
lines[0]作为表名、lines[1]作为插入字段,循环如果从i=1开始会把字段行也当作数据插入,建议把循环起始值改为i=2 - 如果CSV字段内容本身包含逗号,直接使用
Split(',')拆分字段会出现错位,复杂CSV场景建议使用专门的CSV解析类处理 - 生成SQL插入语句时注意对字符串类型的值添加单引号,自用小工具可以忽略,生产环境使用需要做SQL注入防护
内容的提问来源于stack exchange,提问作者Xm Par
相关产品推荐
相关产品推荐

