PathCombine 통합 작업
This commit is contained in:
@@ -5,55 +5,27 @@ namespace CommonLibrary
|
||||
{
|
||||
public static class Extensions
|
||||
{
|
||||
//TODO: 제거후 PathCombine 에 통합
|
||||
public static string PathCombineL(params string[] paths)
|
||||
/// <summary>경로를 일관된 포맷으로 변경</summary>
|
||||
/// <param name="paths">경로 리스트들</param>
|
||||
/// <returns>폴더 구분자가 / 로 일관되게 변경된 경로</returns>
|
||||
public static string PathCombine(params string[] paths)
|
||||
{
|
||||
var directorySeparatorChar = System.IO.Path.AltDirectorySeparatorChar.ToString();
|
||||
return PathCombine(directorySeparatorChar, paths).Replace("\\", "/");
|
||||
}
|
||||
if (paths == null || paths.Length == 0)
|
||||
return string.Empty;
|
||||
|
||||
//TODO: 제거예정
|
||||
public static string PathCombineW(params string[] paths)
|
||||
{
|
||||
var directorySeparatorChar = System.IO.Path.DirectorySeparatorChar.ToString();
|
||||
return PathCombine(directorySeparatorChar, paths).Replace("/", "\\");
|
||||
}
|
||||
|
||||
static string PathCombine(string directorySeparator, params string[] paths)
|
||||
{
|
||||
if (paths.Length == 0) return string.Empty;
|
||||
|
||||
var path = new StringBuilder();
|
||||
path.Append(paths[0]);
|
||||
|
||||
for (int i = 1; i < paths.Length; i++)
|
||||
var sb = new StringBuilder();
|
||||
for (int i = 0; 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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (string.IsNullOrEmpty(paths[i]))
|
||||
continue;
|
||||
|
||||
return path.ToString();
|
||||
var part = paths[i].Replace("\\", "/").Trim('/');
|
||||
if (sb.Length > 0)
|
||||
sb.Append('/');
|
||||
|
||||
sb.Append(part);
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
public static bool IsDefault<T>(ref this T data) where T : struct
|
||||
|
Reference in New Issue
Block a user