1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-24 18:48:01 +02:00

Merge pull request #1307 from disarray2077/patch-3

Add methods PadLeft/PadRight and Equals(StringView) to String class
This commit is contained in:
Brian Fiete 2021-12-27 17:06:51 +01:00 committed by GitHub
commit 85663b82ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1965,6 +1965,22 @@ namespace System
return EqualsIgnoreCaseHelper(a.Ptr, b.Ptr, a.mLength);
return EqualsHelper(a.Ptr, b.Ptr, a.mLength);
}
public bool Equals(StringView str)
{
if (mLength != str.[Friend]mLength)
return false;
return EqualsHelper(str.Ptr, mPtr, mLength);
}
public bool Equals(StringView str, StringComparison comparisonType = StringComparison.Ordinal)
{
if (mLength != str.[Friend]mLength)
return false;
if (comparisonType == StringComparison.OrdinalIgnoreCase)
return EqualsIgnoreCaseHelper(str.Ptr, mPtr, mLength);
return EqualsHelper(str.Ptr, mPtr, mLength);
}
public bool StartsWith(StringView b, StringComparison comparisonType = StringComparison.Ordinal)
{
@ -2278,6 +2294,36 @@ namespace System
TrimStart((.)trimChar);
TrimEnd((.)trimChar);
}
public void PadLeft(int totalWidth, char8 paddingChar)
{
Insert(0, paddingChar, totalWidth - Length);
}
public void PadLeft(int totalWidth, char32 paddingChar)
{
Insert(0, paddingChar, totalWidth - Length);
}
public void PadLeft(int totalWidth)
{
Insert(0, ' ', totalWidth - Length);
}
public void PadRight(int totalWidth, char8 paddingChar)
{
Append(paddingChar, totalWidth - Length);
}
public void PadRight(int totalWidth, char32 paddingChar)
{
Append(paddingChar, totalWidth - Length);
}
public void PadRight(int totalWidth)
{
Append(' ', totalWidth - Length);
}
public void Join(StringView sep, IEnumerator<String> enumerable)
{