using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; using System.Text; namespace EntrustSettle.Common.Helper { public class StringHelper { // 定义一个通用方法,用于遍历对象的属性并将string类型字段进行Trim操作 public static void TrimStringProperties(object obj) { if (obj == null) { return; } // 获取对象的类型信息 Type type = obj.GetType(); // 遍历对象的所有属性 foreach (PropertyInfo prop in type.GetProperties()) { // 检查属性的类型是否为string if (prop.PropertyType == typeof(string)) { // 获取属性的值 string value = (string)prop.GetValue(obj); // 如果属性的值不为null,则进行Trim操作 if (value != null && (value.StartsWith(' ') || value.EndsWith(' '))) { // Trim操作 string trimmedValue = value.Trim(); // 设置属性的值为Trim后的值 prop.SetValue(obj, trimmedValue); } } } } /// /// 根据分隔符返回前n条数据 /// /// 数据内容 /// 分隔符 /// 前n条 /// 是否倒序(默认false) /// public static List GetTopDataBySeparator(string content, string separator, int top, bool isDesc = false) { if (string.IsNullOrEmpty(content)) { return new List() { }; } if (string.IsNullOrEmpty(separator)) { throw new ArgumentException("message", nameof(separator)); } var dataArray = content.Split(separator).Where(d => !string.IsNullOrEmpty(d)).ToArray(); if (isDesc) { Array.Reverse(dataArray); } if (top > 0) { dataArray = dataArray.Take(top).ToArray(); } return dataArray.ToList(); } /// /// 根据字段拼接get参数 /// /// /// public static string GetPars(Dictionary dic) { StringBuilder sb = new StringBuilder(); string urlPars = null; bool isEnter = false; foreach (var item in dic) { sb.Append($"{(isEnter ? "&" : "")}{item.Key}={item.Value}"); isEnter = true; } urlPars = sb.ToString(); return urlPars; } /// /// 根据字段拼接get参数 /// /// /// public static string GetPars(Dictionary dic) { StringBuilder sb = new StringBuilder(); string urlPars = null; bool isEnter = false; foreach (var item in dic) { sb.Append($"{(isEnter ? "&" : "")}{item.Key}={item.Value}"); isEnter = true; } urlPars = sb.ToString(); return urlPars; } /// /// 获取一个GUID /// /// 格式-默认为N /// public static string GetGUID(string format = "N") { return Guid.NewGuid().ToString(format); } /// /// 根据GUID获取19位的唯一数字序列 /// /// public static long GetGuidToLongID() { byte[] buffer = Guid.NewGuid().ToByteArray(); return BitConverter.ToInt64(buffer, 0); } /// /// 获取字符串最后X行 /// /// /// /// public static string GetCusLine(string resourceStr, int length) { string[] arrStr = resourceStr.Split("\r\n"); return string.Join("", (from q in arrStr select q).Skip(arrStr.Length - length + 1).Take(length).ToArray()); } } }