iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
自我挑戰組

C# 和 SQL 探索之路 - 2系列 第 4

Day 4: C# 資料結構: Tuple

  • 分享至 

  • xImage
  •  

大家好,今天是第四天。
來介紹 Tuple 這個輕量化的資料結構,它可以讓方法要回傳多個變數時,可以用更簡單的寫法實作,不必再另外寫類別或使用 out 參數傳遞。

來看看例子:

  1. 使用 refout 方式,傳入多個變數。但是參數量會變得非常多,也一定要預先傳入變數。
public void AMethod(ref int i, ref string str){
	i = 123;
	str = "text";
}

void run(){
	int i = 0;
	string str = "";
	AMethod(ref i, ref str);
	Console.WriteLine(i + ", " + str);
}
  1. 建立一個類別,裡面包含要回傳的變數。缺點是需要設計額外的類別 (而且可能只用這麼一次)。
public class AClass{
	public int i;
	public string str;
}

public AClass AMethod(){
	AClass a = new AClass();
	a.i = 123;
	a.str = "text";
	return a;
}

void run(){
	AClass ret = AMethod();
	Console.WriteLine(ret.i + ", " + ret.str);
}

Tuple 可以取代以上兩種回傳方式,寫出更簡潔的程式碼。

public (int i, string str) AMethod(){
	return (1, "text");
}

void run(){
	var ret = AMethod();
	Console.WriteLine(ret.i + ", " + ret.str);
}

參考資料


上一篇
Day 3: C# 關鍵字: lock
下一篇
Day 5: C# 資料結構: Hashset
系列文
C# 和 SQL 探索之路 - 230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言