XFEExtension
【DLL】XFE各类拓展是一个C#的DLL库,旨在优化C#代码中常用语句的使用,并提供更简洁的访问方式,同时提供Xunit测试框架,快速搭建服务器/客户端,免费ChatGPTAPI接口,免费通讯服务器,XFE下载器,新增格式等
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore.Analyzer.Test/Program.cs
+7
-1
Modified
XFEExtension.NetCore/TaskExtension/TaskExtension.cs
+3
-1
Modified
XFEExtension.NetCore/XFEExtension.NetCore.csproj
+3
-4
Modified
XFEExtension.NetCore/XFEExtension/XFECode.cs
+15
-5
Modified
XFEExtension.NetCore/XFETransform/EscapeConverter.cs
+21
-3
XFEstudio/XFEExtension
add-添加转义类 fix-修复单元测试计时器显示问题
93942b2
代码差异
5 个文件
+49
-14
@@ -1,6 +1,7 @@
1
1
using System.Text.Json;
2
2
using XFEExtension.NetCore.StringExtension;
3
3
using XFEExtension.NetCore.StringExtension.Json;
4
using XFEExtension.NetCore.XFETransform;
4
5
5
6
namespace XFEExtension.NetCore.Analyzer.Test;
6
7
@@ -18,11 +19,16 @@ internal class Program
18
19
//testClass.Enum.ToString().CW();
19
20
//Console.WriteLine(json);
20
21
//JsonSerializer.Deserialize<TestClass>(json).X();
22
var testString = "this is a t//e/st #//# /# divide : string";
23
var escapeConverter = new EscapeConverter("/", "#", ":");
24
var convertedString = escapeConverter.Convert(testString);
25
Console.WriteLine(convertedString);
26
escapeConverter.Inverse(convertedString).CW();
21
27
}
22
28
}
23
29
enum MyEnum
24
30
{
25
31
Test1 = 3,
26
32
Test2 = 12,
27
Test3 =1
33
Test3 = 1
28
34
}
@@ -76,8 +76,10 @@ public static class TaskExtension
76
76
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
77
77
else if (elapsedTime.TotalMilliseconds >= 1)
78
78
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
79
else if (elapsedTime.TotalMicroseconds >= 1)
80
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
79
81
else
80
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds * 1000:F3} 纳秒");
82
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
81
83
return elapsedTime;
82
84
}
83
85
}
@@ -19,12 +19,11 @@
19
19
<PackageTags>XFE;拓展;GPT;Server;服务器;测试;XFEExtension</PackageTags>
20
20
<PackageReleaseNotes>## 调整
21
21
22
修复Json转换对布尔值和枚举类型的转换问题
23
添加分析对象对枚举类型的进一步支持,现在可以显示其转为int后的序号
22
修复单元测试计时器显示问题
24
23
25
24
## 新增
26
25
27
无
26
添加转义类
28
27
29
28
## 严重
30
29
@@ -33,7 +32,7 @@
33
32
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
34
33
<PackageLicenseFile>LICENSE</PackageLicenseFile>
35
34
<AssemblyOriginatorKeyFile>..\XFEstudio.pfx</AssemblyOriginatorKeyFile>
36
<Version>2.7.1</Version>
35
<Version>2.8.0</Version>
37
36
<Authors>XFEstudio</Authors>
38
37
</PropertyGroup>
39
38
@@ -112,8 +112,10 @@ public abstract class XFECode
112
112
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
113
113
else if (elapsedTime.TotalMilliseconds >= 1)
114
114
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
115
else if (elapsedTime.TotalMicroseconds >= 1)
116
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
115
117
else
116
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds * 1000:F3} 纳秒");
118
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
117
119
return elapsedTime;
118
120
}
119
121
/// <summary>
@@ -140,8 +142,10 @@ public abstract class XFECode
140
142
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalSeconds:F3} 秒");
141
143
else if (elapsedTime.TotalMilliseconds >= 1)
142
144
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds:F3} 毫秒");
145
else if (elapsedTime.TotalMicroseconds >= 1)
146
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMicroseconds:F3} 微秒");
143
147
else
144
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalMilliseconds * 1000:F3} 纳秒");
148
Console.WriteLine($"标识名:{timerName}\t执行批次:{cTimeCounter}\t执行时间: {elapsedTime.TotalNanoseconds:F3} 纳秒");
145
149
return elapsedTime;
146
150
}
147
151
/// <summary>
@@ -338,8 +342,10 @@ public abstract class XFECode
338
342
Console.Write($"{elapsedTime.TotalSeconds:F3} 秒");
339
343
else if (elapsedTime.TotalMilliseconds >= 1)
340
344
Console.Write($"{elapsedTime.TotalMilliseconds:F3} 毫秒");
345
else if (elapsedTime.TotalMicroseconds >= 1)
346
Console.Write($"{elapsedTime.TotalMicroseconds:F2} 微秒");
341
347
else
342
Console.Write($"{elapsedTime.TotalMilliseconds * 1000:F2} 纳秒");
348
Console.Write($"{elapsedTime.TotalMicroseconds:F2} 纳秒");
343
349
if (result is not null)
344
350
{
345
351
Console.ForegroundColor = mainColor;
@@ -615,8 +621,10 @@ public abstract class XFECode
615
621
Console.Write($"{elapsedTime.TotalSeconds:F3} 秒");
616
622
else if (elapsedTime.TotalMilliseconds >= 1)
617
623
Console.Write($"{elapsedTime.TotalMilliseconds:F3} 毫秒");
624
else if (elapsedTime.TotalMicroseconds >= 1)
625
Console.Write($"{elapsedTime.TotalMicroseconds:F2} 微秒");
618
626
else
619
Console.Write($"{elapsedTime.TotalMilliseconds * 1000:F2} 纳秒");
627
Console.Write($"{elapsedTime.TotalMicroseconds:F2} 纳秒");
620
628
if (result is not null)
621
629
{
622
630
Console.ForegroundColor = mainColor;
@@ -675,8 +683,10 @@ public abstract class XFECode
675
683
Console.WriteLine($"{classTimeCounter.Elapsed.TotalSeconds:F3} 秒");
676
684
else if (classTimeCounter.Elapsed.TotalMilliseconds >= 1)
677
685
Console.WriteLine($"{classTimeCounter.Elapsed.TotalMilliseconds:F3} 毫秒");
686
else if (classTimeCounter.Elapsed.TotalMicroseconds >= 1)
687
Console.Write($"{classTimeCounter.Elapsed.TotalMicroseconds:F2} 微秒");
678
688
else
679
Console.WriteLine($"{classTimeCounter.Elapsed.TotalMilliseconds * 1000:F2} 纳秒");
689
Console.Write($"{classTimeCounter.Elapsed.TotalMicroseconds:F2} 纳秒");
680
690
Console.ForegroundColor = ConsoleColor.Black;
681
691
Console.WriteLine();
682
692
if (failedList.Count == 0)
@@ -3,16 +3,16 @@
3
3
/// <summary>
4
4
/// 转义器
5
5
/// </summary>
6
public class EscapeConverter(string escapeSymbol = "/", params string[] escapes)
6
public class EscapeConverter
7
7
{
8
8
/// <summary>
9
9
/// 转义用符号
10
10
/// </summary>
11
public string EscapeSymbol { get; set; } = escapeSymbol;
11
public string EscapeSymbol { get; set; } = "/";
12
12
/// <summary>
13
13
/// 待转义的符号
14
14
/// </summary>
15
public string[] Escapes { get; set; } = escapes;
15
public string[] Escapes { get; set; }
16
16
/// <summary>
17
17
/// 转义(生成转义后文本)
18
18
/// </summary>
@@ -43,4 +43,22 @@ public class EscapeConverter(string escapeSymbol = "/", params string[] escapes)
43
43
}
44
44
private string ConvertEscapeSymbol(string str) => str.Replace(EscapeSymbol, $"{EscapeSymbol}{EscapeSymbol}");
45
45
private string InverseEscapeSymbol(string str) => str.Replace($"{EscapeSymbol}{EscapeSymbol}", EscapeSymbol);
46
/// <summary>
47
/// 转义器
48
/// </summary>
49
/// <param name="escapes">待转义字符</param>
50
public EscapeConverter(params string[] escapes)
51
{
52
Escapes = escapes;
53
}
54
/// <summary>
55
/// 转义器
56
/// </summary>
57
/// <param name="escapeSymbol">转义用符号</param>
58
/// <param name="escapes">待转义字符</param>
59
public EscapeConverter(string escapeSymbol, params string[] escapes)
60
{
61
EscapeSymbol = escapeSymbol;
62
Escapes = escapes;
63
}
46
64
}