标签:static HERE linq tostring count prope 字符串 new reac
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; namespace Comon { public class CsvUtil { /// <summary> /// 生成Csv格式的字符串 /// </summary> /// <typeparam name="T">数据源类型</typeparam> /// <param name="sourceDate">数据源</param> /// <param name="generateFilelds">需要生成到Csv格式字符串的字段列表</param> /// <returns></returns> public static string GenerateCsvFormate<T>(IList<T> sourceDate, IList<string> generateFilelds) where T : class, new() { if (sourceDate == null) { throw new ArgumentNullException(nameof(sourceDate)); } Type type = typeof(T); PropertyInfo[] propertyInfos = type.GetProperties(); IList<string> fieldValueList = new List<string>(generateFilelds.Count); StringBuilder builder = new StringBuilder(); builder.Append("?(\""); foreach (var item in sourceDate) { builder.Append("\n"); fieldValueList.Clear(); foreach (var field in generateFilelds) { PropertyInfo property = propertyInfos.FirstOrDefault(c => c.Name == field); if (property != null) { var fieldValue = property.GetValue(item).ToString(); fieldValueList.Add(fieldValue); } } builder.Append(string.Join(",", fieldValueList)); } builder.Append("\n\")"); return builder.ToString(); } } }
标签:static HERE linq tostring count prope 字符串 new reac
原文地址:https://www.cnblogs.com/tangchun/p/10482632.html