CSVHelper从2.13.5.0升级到30.0.1的兼容问题咨询
CSVHelper从2.13.5.0升级到30.0.1的问题解决
1. 类型找不到错误(ICsvReaderRow、ICsvReader)的修复
CSVHelper大版本迭代中重构了核心接口,旧版的ICsvReader和ICsvReaderRow已被移除,直接替换为以下类型即可:
- 原
ICsvReader替换为CsvReader具体类(新版已不再提供该接口) - 原
ICsvReaderRow替换为IReaderRow接口
修改后的扩展方法代码:
public static IEnumerable<T> Select<T>(this CsvReader reader, Func<IReaderRow, T> selector) { do { yield return selector(reader); } while (reader.Read()); }
2. IsRecordEmpty()逻辑的替代实现
新版CSVHelper移除了IsRecordEmpty()方法,可通过检查解析后的记录数组是否为空或所有元素均为空白字符来实现相同逻辑:
修改后的GetSingleValue方法:
public static string GetSingleValue(this IReaderRow reader) { var record = reader.Context.Parser.Record; var isEmpty = record == null || record.All(string.IsNullOrWhiteSpace); return isEmpty ? null : record.FirstOrDefault(); }
内容的提问来源于stack exchange,提问作者Radha
相关产品推荐
相关产品推荐

