C#统计List<t>字符串属性长度(返回每个属性的最大长度)|C/S开发框架</t>
说明
导入大批量数提交List<T>时,经常会出现字符串长度错误,这段代码非常有用。
统计结果
根据属性值长度调整字段的长度。

C# 全选
/// <summary>
/// C#统计List<T>字符串属性长度(返回每个属性的最大长度)
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <returns></returns>
public static List<PropertyMaxLengthInfo> GetStringPropertyMaxLengths<T>(List<T> list)
{
var result = new List<PropertyMaxLengthInfo>();
if (list == null || list.Count == 0)
{
return result;
}
Type type = typeof(T);
// 获取所有string类型的公共属性
PropertyInfo[] stringProperties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance)
.Where(p => p.PropertyType == typeof(string))
.ToArray();
foreach (var prop in stringProperties)
{
int maxLength = 0;
foreach (var item in list)
{
string value = (string)prop.GetValue(item);
int currentLength = value?.Length ?? 0;
if (currentLength > maxLength)
{
maxLength = currentLength;
}
}
result.Add(new PropertyMaxLengthInfo
{
FieldName = prop.Name,
MaxLength = maxLength
});
}
return result;
}C# 全选
public class PropertyMaxLengthInfo
{
public string FieldName { get; set; }
public int MaxLength { get; set; }
}
参考文档:
DataGridView绑定List 对象,偶尔出现索引 |1 没有值|C/S开发框架
C#DataTable(转List /JSON/字典 互转)-C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
基于集团组织架构数据权限系统快速开发框架(C#.NET Winform+支持多数据库)
WCF快速开发框架 - IIS承载WCF net.tcp协议NetTcpBinding配置详解
C/S架构进销存快速开发框架开发模板功能介绍
基于Winform三层架构+WCF+ORM模型的快速开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
C/S客户端软件授权设计方案 | MAC地址白名单+软件到期时间授权|C/S开发框架
C/S客户端软件授权设计方案 | 在线用户并发数+软件到期时间授权|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
C/S开发框架:系统数据库与账套数据库合并解决方案|C/S开发框架
MySql MySqlBulkLoader批量导入数据(批导BulkInsert)|C/S开发框架
DataGridView绑定List 对象,偶尔出现索引 |1 没有值|C/S开发框架
C#DataTable(转List /JSON/字典 互转)-C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
企业级数据权限框架 - 集团组织架构数据权限开发框架(C/S+Winform+DevExpress)
基于集团组织架构数据权限系统快速开发框架(C#.NET Winform+支持多数据库)
WCF快速开发框架 - IIS承载WCF net.tcp协议NetTcpBinding配置详解
C/S架构进销存快速开发框架开发模板功能介绍
基于Winform三层架构+WCF+ORM模型的快速开发框架
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
C#获取MAC地址包括物理网卡和虚拟网卡|C/S开发框架
C/S客户端软件授权设计方案 | MAC地址白名单+软件到期时间授权|C/S开发框架
C/S客户端软件授权设计方案 | 在线用户并发数+软件到期时间授权|C/S开发框架
CSFrameworkV6旗舰版开发框架 | 集成软件授权认证系统|C/S开发框架
.NET C/S架构软件用户授权设计方案(mac地址+白名单用户)|C/S开发框架
C/S开发框架:系统数据库与账套数据库合并解决方案|C/S开发框架
MySql MySqlBulkLoader批量导入数据(批导BulkInsert)|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
