2022 鐵人賽文 搬回點部落
開始試煉
網址
處理字串 一直都會再寫程式遇到的試煉
像是要處理網址的時候應該很容易寫出這樣的程式碼$"https://ithelp.ithome.com.tw/{DateTime.Now.Year}ironman/software-dev".Dump();
用處理文字的角度去 組網址
所以到後來常常組出來的網址 要不少斜線 要不有兩條斜線 各式各樣雖然可以用
但是怕錯誤的網址被組出來
其實有個UriBuilder可以用 程式碼像是這樣
var uriBuilder = new UriBuilder();
uriBuilder.Scheme = "http";
uriBuilder.Host = "abc.com";
uriBuilder.Path = "xyz/index";
var url = uriBuilder.ToString().Dump();
uriBuilder = new UriBuilder(url);
uriBuilder.Path = "test";
url = uriBuilder.ToString().Dump();
var uri = uriBuilder.Uri;
uri.ToString().Dump();
結果會是
http://abc.com/xyz/index
http://abc.com:80/test
http://abc.com/test
就可以產出網址 而不是組出網址
檔案路徑
產生檔案路徑可以用 Path.Combine
範例Code如下
void Main()
{
var root = @"C:\";
var mainFolder = @"main";
var subFolder = @"sub";
var file = @"abc.pdf";
Path.Combine(root,mainFolder,subFolder,file).Dump();
var currentPath = Assembly.GetExecutingAssembly().Location.Dump();
Path.ChangeExtension(currentPath, "cs").Dump();
Path.ChangeExtension(currentPath, ".pdf").Dump();
Path.GetFileName(currentPath).Dump();
Path.GetFileNameWithoutExtension(currentPath).Dump();
Path.GetExtension(currentPath).Dump();//注意 會是.pdf喔 有點在前面
Path.GetPathRoot(currentPath).Dump();
Path.GetTempPath().Dump();
}
記得自己去跑看看 結果囉
延伸試煉
黑暗執行緒 還有寫一個好用的 FlexUrlEditor 請參考下面連結
CODE–URL調整HTTP/HTTPS、Port、QueryString參數公用函式
結束試煉
組字串之前 可以再想想有沒有更好的辦法
參考
[食譜好菜] 檔案及資料夾的路徑不用自己兜,讓 System.IO.Path 靜態類別來做會方便許多。
如果內容有誤請多鞭策謝謝