1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 07:14:09 +02:00

Add methods PadLeft/PadRight and Equals(StringView) to String class

This commit is contained in:
disarray2077 2021-12-27 12:38:33 -03:00 committed by GitHub
parent 8e543d8cc5
commit bf9753f8a2
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)
{