Blame view

Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/StringHelper.cs 3.52 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  using System;
  using System.Collections.Generic;
  using System.IO;
  using System.Linq;
  using System.Text;
  
  namespace Yi.Framework.Core.Helper
  {
      public class StringHelper
      {
          /// <summary>
          /// 根据分隔符返回前n条数据
          /// </summary>
          /// <param name="content">数据内容</param>
          /// <param name="separator">分隔符</param>
          /// <param name="top">n</param>
          /// <param name="isDesc">是否倒序(默认false</param>
          /// <returns></returns>
          public static List<string> GetTopDataBySeparator(string content, string separator, int top, bool isDesc = false)
          {
              if (string.IsNullOrEmpty(content))
              {
                  return new List<string>() { };
              }
  
              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();
          }
          /// <summary>
          /// 根据字段拼接get参数
          /// </summary>
          /// <param name="dic"></param>
          /// <returns></returns>
          public static string GetPars(Dictionary<string, object> 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;
          }
          /// <summary>
          /// 根据字段拼接get参数
          /// </summary>
          /// <param name="dic"></param>
          /// <returns></returns>
          public static string GetPars(Dictionary<string, string> 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;
          }
          /// <summary>
          /// 获取一个GUID
          /// </summary>
          /// <param name="format">格式-默认为N</param>
          /// <returns></returns>
          public static string GetGUID(string format = "N")
          {
              return Guid.NewGuid().ToString(format);
          }
          /// <summary>  
          /// 根据GUID获取19位的唯一数字序列  
          /// </summary>  
          /// <returns></returns>  
          public static long GetGuidToLongID()
          {
              byte[] buffer = Guid.NewGuid().ToByteArray();
              return BitConverter.ToInt64(buffer, 0);
          }
          /// <summary>
          /// 获取字符串最后X
          /// </summary>
          /// <param name="resourceStr"></param>
          /// <param name="length"></param>
          /// <returns></returns>
          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());
          }
  
      }
  }