iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

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

#Day29 C#函式-2

  • 分享至 

  • xImage
  •  

剛差點以為昨天沒發,挫一大下

我後來發現,void涵是其實也可以回傳東西,但要動點手腳

static void swap(int x,int y)
{
    int t = x;
    x = y;
    y = t;
}

int x= int.Parse(Console.ReadLine());
int y= int.Parse(Console.ReadLine());
if(x>y) swap(x, y);
Console.WriteLine(x+", "+y);

這個傳出來不會動

static void swap(ref int x,ref int y)
{
    int t = x;
    x = y;
    y = t;
}

int x= int.Parse(Console.ReadLine());
int y= int.Parse(Console.ReadLine());
if(x>y) swap(ref x,ref y);
Console.WriteLine(x+", "+y);

但這個會

就差一個ref,但其實不知道ref是什麼意思

而且更神奇的事情:不用加return欸
我看不懂

然後昨天說static int可以回傳數字,剛剛試上面那個也會報錯
就有點不知道規則到底是甚麼qq

話說之前提過的assert,其實在函式這邊就蠻好用
你可以直接用assert測他,尤其當他需要的輸入很複雜,你又不想一直重新自己輸入的時候

接下來簡報還會講到out,似乎也是回傳的一種方式
我找到一篇比較清楚的文章

就如同文章中所寫,out與ref的差異就只是需不需要設置初始值
所以基本上就是差不多的東西

那這個系列差不多先到這邊ㄌ
我的進度大概碰不到自學計劃上的Unity,但有鐵人賽的激勵,現在的進度也算不錯ㄌ

然後前幾天到今天應該很多人完賽啦!先恭喜順利完賽的大家~

註:明天的數理經濟被迫翹課,好怕跟不上
以後任何活動就算沒有確定,真的都要預先註記在行事曆上
有些主辦超級不講武德,有沒有上都不會發通知,活動前三天突然拉個群說幾點報到,其他啥也不說
真的是劣質官僚作風欸...


上一篇
#Day28 函式簡介
下一篇
#Day30 結語
系列文
突然冒出的自學計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言