iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
自我挑戰組

突然冒出的自學計畫系列 第 11

#Day11 型別轉換:int & string

  • 分享至 

  • xImage
  •  

今天來講一下型別轉換好了
學了幾天下來感覺C#的型別轉換比Python複雜不少,就直接來看看吧

1.轉成int
要將不同型別轉成int,Python只要一個int(東西),C#卻有好幾種寫法。
-int.Parse
-Convert.ToInt16/32/64
查過一些資料,上下兩者基本上是差不多的,也常混用

他們還是有一個差異:
int.Parse遇到null會爆掉,但Convert.ToInt不會。
查起來應該只差在這裡而已

那Convert.ToInt分成16、32、64三種,他們差在可以塞的數值範圍不同
基本上數字越大,能塞的數字就越大。以下附上範圍
> int16-數值範圍:-32768 到 32767
> int32-數值範圍:-2,147,483,648 到 2,147,483,647
> int64-數值範圍:-9223372036854775808 到 9223372036854775808
參考資料

2.轉成string

Python的部分仍然是一個str(東西)
而C#這次也只要一個ToString()就好...嗎?
-int.ToString()
先來講比較簡單的方法
當我第一次查到這個東西,我就寫
int.ToString(a)
然後他就錯了。
研究了老半天,泡去翻翻別人的文章,終於發現網路上寫的int不是int,我被騙ㄌ
正確的寫法應該是:
a.ToString()
謝謝該死的Python習慣。(沒有,只是自己笨)

-Convert.ToString(int)
第二種,也是比較符合我原本習慣的一種,也就是要轉的int是塞進()裡的。
但要多打好多字,所以我一般還是會選上面的用XD

講完這兩種,還有下一種奇葩的(什麼都沒見過,什麼都好神奇)
先附上參考資料
-string a = "" + num
num是預設的int,然後num就會變成string a了欸
太酷辣

除了上面這個,還有一兩個看起來很類似的方法
不過我感覺應該會用ToString就好ㄌ叭
後面都比較接近format的用法,有興趣可以到上面參考資料看完整ㄉ


上一篇
#Day10 Assert & 虛擬碼
下一篇
#Day12 goto義大利麵傳送門
系列文
突然冒出的自學計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言