C#统计List<t>字符串属性长度(返回每个属性的最大长度)|C/S开发框架</t>
作者:csframework|C/S框架网  发布日期:2026/01/01 23:06:28

说明

导入大批量数提交List<T>时,经常会出现字符串长度错误,这段代码非常有用。

统计结果

根据属性值长度调整字段的长度。

C#统计List<t>字符串属性长度(返回每个属性的最大长度)|C/S开发框架</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; }
 }

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇