Re: [問題] Parse,TryParse,與字串轉換問題

看板C_Sharp (C#)作者 (s4300026)時間7年前 (2018/02/01 10:34), 7年前編輯推噓2(2014)
留言16則, 3人參與, 7年前最新討論串3/3 (看更多)
原文怒刪~~ 我來提供第四點一點想法 程式碼:https://ideone.com/XnMPPo 舉例: 我有一個相機,但是雜訊很多,因此我使用了average的方法做平均 因此我要設定average的值 我要在GUI中text設定值,但是它是string類別,你知道的 因此我需要轉換程某個特定類別 但是這個特定類別會可能不一樣,舉例來說,可以是int, double, float, short... 每次都要做轉換,就要 Int32.Parse(), double.Parse()... 然後程式碼重寫一遍 這樣不是很麻煩嗎? 因此就寫了一個轉換器宣告如下: Setter<想轉換的型態> (來源TextBox, 取得目標物被設定後的值, 給予目標物欲設定的值, 報錯關鍵字, 設定後的狀態) 好處是該setter可以用在很多地方,像是: 如果是FPS,就會像 Setter<double>( sender as TextBox, new DoublePtrVoid(camera.FPS), new VoidPtrDouble(camera.FPS), "Fps", cameraControlGUI.LabelFpsShow); 如果是拍照後的存檔路徑: Setter<string>( sender as TextBox, new StringPtrVoid(camera.SavePicPath), new VoidPtrString(camera.SavePicPath), "SavePath", cameraControlGUI.LabelSavePathShow); 如果是取像平均: Setter<int>( sender as TextBox, new IntPtrVoid(camera.Average), new VoidPtrInt(camera.Average), "Average", cameraControlGUI.LabelAvgShow); 那你會問:輸入格式不符怎麼辦? 1. 如果是使用者白目,應該給數字的給文字,那就會被轉換器擋下來,然後報錯 2. 如果是硬體限制呢? 像是一秒要拍個1000000000000000張照片? 阿你可以寫在camera.FPS()那個Get/Set方法裡面擋住他,然後報錯 這也是為什麼我會除了有輸入值的delegate方法,還要有輸出值的delegate 因為你不會知道設定有沒有成功啊!!! 3. 為什麼要有text的 "\r\n" ,因為我把他設定成多行,但只有你按下 "換行" ,我的程式才會鳥你,不然一律視為你 "正在輸入",尚未輸入完成。 一點建議,僅供參考 話說上班回屁話,會不會被開除阿 (抖抖抖) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.5.27 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1517452448.A.219.html ※ 編輯: s4300026 (42.73.5.27), 02/01/2018 10:34:47

02/01 19:34, 7年前 , 1F
現在講泛型感覺太早了吧@ @
02/01 19:34, 1F

02/01 20:27, 7年前 , 2F
謝謝你~ 你前半段提的概念 我有點可以理解
02/01 20:27, 2F

02/01 20:28, 7年前 , 3F
但是後面的程式碼 或許就是要多看 多了解才會清楚了
02/01 20:28, 3F

02/01 20:28, 7年前 , 4F
你講的這個 比較像是在影像處理吧!? 之前我大學同學
02/01 20:28, 4F

02/01 20:28, 7年前 , 5F
他有做這部分 那時候有聽他大概講 他們就適用C#做的!!
02/01 20:28, 5F

02/02 07:59, 7年前 , 6F
因為原po在問有沒有更通用的寫法,那就只能走泛型了囧
02/02 07:59, 6F

02/02 08:05, 7年前 , 7F
實際上這寫法還牽扯到 不定型委派,和關注點分離。因為
02/02 08:05, 7F

02/02 08:05, 7年前 , 8F
泛型的關係,使你的委派指標不能被定下來,這就要多找一
02/02 08:05, 8F

02/02 08:05, 7年前 , 9F
個不定型委派的語法,至於為什麼要用委派指標,則與關注
02/02 08:05, 9F

02/02 08:05, 7年前 , 10F
點分離有關,因為關注點分離,這寫法還可以用在其他地
02/02 08:05, 10F

02/02 08:05, 7年前 , 11F
方,而不僅限於影像處理。
02/02 08:05, 11F

02/02 08:19, 7年前 , 12F
哈哈哈 了解了 謝謝你 看你提到的 都偏向影像 會問
02/02 08:19, 12F

02/02 08:19, 7年前 , 13F
有沒有比較常用的寫法 是因為說 我的觀念是建立在我
02/02 08:19, 13F

02/02 08:19, 7年前 , 14F
自己查的資料 所以會有那種 東湊西湊的感覺 不確定正
02/02 08:19, 14F

02/02 08:19, 7年前 , 15F
確性 或者是其實大家會其他類似更適合的寫法 不過也
02/02 08:19, 15F

02/02 08:19, 7年前 , 16F
是謝謝你喲 感謝
02/02 08:19, 16F
文章代碼(AID): #1QSdoW8P (C_Sharp)
文章代碼(AID): #1QSdoW8P (C_Sharp)