Skip to content

Commit 970fbb8

Browse files
Optimize string concatenation in network utility methods (#3225)
* Initial plan * Optimize string concatenation in network utilities Co-authored-by: BornToBeRoot <[email protected]> * Complete performance optimization Co-authored-by: BornToBeRoot <[email protected]> * Remove accidentally committed binary file Co-authored-by: BornToBeRoot <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: BornToBeRoot <[email protected]>
1 parent ed92bc2 commit 970fbb8

File tree

3 files changed

+5
-26
lines changed

3 files changed

+5
-26
lines changed

.nuget/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.exe

Source/NETworkManager.Models/Network/IPv4Address.cs

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -100,17 +100,7 @@ public static bool IsMulticast(IPAddress ipAddress)
100100
/// <returns>IP addresses as string.</returns>
101101
public static object ConvertIPAddressListToString(IEnumerable<IPAddress> ipAddresses, string delimiter = null)
102102
{
103-
var result = string.Empty;
104-
105-
foreach (var ipAddr in ipAddresses)
106-
{
107-
if (!string.IsNullOrEmpty(result))
108-
result += delimiter ?? Environment.NewLine;
109-
110-
result += ipAddr.ToString();
111-
}
112-
113-
return result;
103+
return string.Join(delimiter ?? Environment.NewLine, ipAddresses);
114104
}
115105

116106
/// <summary>
@@ -121,16 +111,7 @@ public static object ConvertIPAddressListToString(IEnumerable<IPAddress> ipAddre
121111
public static object ConvertIPAddressWithSubnetmaskListToString(Tuple<IPAddress, IPAddress>[] ipAddresses,
122112
string delimiter = null)
123113
{
124-
var result = string.Empty;
125-
126-
foreach (var ipAddr in ipAddresses)
127-
{
128-
if (!string.IsNullOrEmpty(result))
129-
result += delimiter ?? Environment.NewLine;
130-
131-
result += ipAddr.Item1 + "/" + Subnetmask.ConvertSubnetmaskToCidr(ipAddr.Item2);
132-
}
133-
134-
return result;
114+
return string.Join(delimiter ?? Environment.NewLine,
115+
ipAddresses.Select(ipAddr => $"{ipAddr.Item1}/{Subnetmask.ConvertSubnetmaskToCidr(ipAddr.Item2)}"));
135116
}
136117
}

Source/NETworkManager.Models/Network/Subnetmask.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ public static SubnetmaskInfo GetFromCidr(int cidr)
2828

2929
public static string ConvertCidrToSubnetmask(int cidr)
3030
{
31-
var bits = string.Empty;
32-
33-
for (var i = 0; i < cidr; i++)
34-
bits += "1";
31+
var bits = new string('1', cidr);
3532

3633
return IPv4Address.ToHumanString(bits.PadRight(32, '0'));
3734
}

0 commit comments

Comments
 (0)