public static void Main()
string basePath = @"C:\something";
string fileName = "somefile.txt";
string pathExtension = @"In\ARB";
string archiveExtension = "archive";
Console.WriteLine(GetFullPath(basePath, fileName, pathExtension, archiveExtension));
private static string GetFullPath(string basePath, string fileName, params string[] pathExtensions )
string fullPath = basePath.EndsWith(@"\") || basePath.EndsWith(@"/") ? basePath.Substring(0, basePath.Length - 1) : basePath;
foreach (string pathExtension in pathExtensions)
extension = pathExtension.StartsWith(@"\") || pathExtension.StartsWith(@"/") ? pathExtension.Substring(1) : pathExtension;
extension = extension.EndsWith(@"\") || extension.EndsWith(@"/") ? extension.Substring(0, extension.Length - 1) : extension;
fullPath += $@"\{extension}";
return $@"{fullPath}\{fileName}";