Files
Mitria_Minecraft_Project/CommonLibrary/Extensions.cs
2022-03-07 14:35:38 +09:00

57 lines
1.8 KiB
C#

using System.Text;
namespace CommonLibrary
{
public static class Extensions
{
public static string PathCombineL(params string[] paths)
{
string directorySeparatorChar = System.IO.Path.AltDirectorySeparatorChar.ToString();
return PathCombine(directorySeparatorChar, paths).Replace("\\", "/");
}
public static string PathCombineW(params string[] paths)
{
string directorySeparatorChar = System.IO.Path.DirectorySeparatorChar.ToString();
return PathCombine(directorySeparatorChar, paths).Replace("/", "\\");
}
private static string PathCombine(string directorySeparator, params string[] paths)
{
if (paths.Length == 0)
{
return string.Empty;
}
StringBuilder path = new StringBuilder();
path.Append(paths[0]);
for (int i = 1; i < paths.Length; i++)
{
if (path.ToString().Substring(path.Length - 1, 1) == directorySeparator)
{
if (paths[i].Substring(0, 1) == directorySeparator)
{
path.Append(paths[i].Substring(1, paths[i].Length - 1));
}
else
{
path.Append(paths[i]);
}
}
else
{
if (paths[i].Substring(0, 1) == directorySeparator)
{
path.Append(paths[i]);
}
else
{
path.Append(directorySeparator);
path.Append(paths[i]);
}
}
}
return path.ToString();
}
}
}