আমি এই সমস্যাটি সমাধান করতে চেয়েছিলাম:
string sample1 = "configuration/config.xml";
string sample2 = "/configuration/config.xml";
string sample3 = "\\configuration/config.xml";
string dir1 = "c:\\temp";
string dir2 = "c:\\temp\\";
string dir3 = "c:\\temp/";
string path1 = PathCombine(dir1, sample1);
string path2 = PathCombine(dir1, sample2);
string path3 = PathCombine(dir1, sample3);
string path4 = PathCombine(dir2, sample1);
string path5 = PathCombine(dir2, sample2);
string path6 = PathCombine(dir2, sample3);
string path7 = PathCombine(dir3, sample1);
string path8 = PathCombine(dir3, sample2);
string path9 = PathCombine(dir3, sample3);
অবশ্যই, 1-9 সমস্ত পাথের শেষে একটি সমতুল্য স্ট্রিং থাকা উচিত। এখানে আমি পঠকম্বাইন পদ্ধতিটি নিয়ে এসেছি:
private string PathCombine(string path1, string path2)
{
if (Path.IsPathRooted(path2))
{
path2 = path2.TrimStart(Path.DirectorySeparatorChar);
path2 = path2.TrimStart(Path.AltDirectorySeparatorChar);
}
return Path.Combine(path1, path2);
}
আমি আরও মনে করি যে এটি বেশ বিরক্তিকর যে এই স্ট্রিং হ্যান্ডলিংটি ম্যানুয়ালি করা হয়েছিল এবং আমি এর পিছনে কারণ সম্পর্কে আগ্রহী।