[TIL] 127 [C#] νŠœν”Œ(Tuple)

μ—…λ°μ΄νŠΈ:

μΉ΄ν…Œκ³ λ¦¬:

νƒœκ·Έ: ,


Tuple



νŠœν”Œ(Tuple)

νŠœν”Œμ€ κ°„λ‹¨ν•œ 데이터λ₯Ό 그룹으둜 λ¬Άμ–΄ 관리 두 개의 데이터λ₯Ό μ €μž₯
νŠœν”Œμ€ μˆœμ„œκ°€ μžˆλŠ” λ°μ΄ν„°μ˜ μ»¬λ ‰μ…˜
λ°μ΄ν„°λŠ” μ„œλ‘œ λ‹€λ₯Έ 데이터 νƒ€μž…μ„ κ°€μ§ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.(int, string)



μ˜ˆμ‹œ

νŠœν”Œ μ‚¬μš© μ˜ˆμ‹œ

var tuple = (1, "Kim", true); 
Console.WriteLine(tuple.Item1); // 1
Console.WriteLine(tuple.Item2); // Kim
Console.WriteLine(tuple.Item3); // true

(int id, string name, bool isActive) user = (1, "Kim", true);
Console.WriteLine(user.id);       // 1
Console.WriteLine(user.name);     // Kim
Console.WriteLine(user.isActive); // True



νŠœν”Œ μ‚¬μš© μ˜ˆμ‹œ (int,int), 리슀트, 큐

// νŠœν”Œ μ‚¬μš© 1
(int, int) pair = (10, 20);

Console.WriteLine($"First: {pair.Item1}, Second: {pair.Item2}");
// 좜λ ₯ : First: 10, Second: 20

-------------------------------------------------------

// νŠœν”Œ μ‚¬μš© 2  -  λͺ…λͺ…λœ νŠœν”Œ
(int x, int y) namedPair = (10, 20);

Console.WriteLine($"X: {namedPair.x}, Y: {namedPair.y}");
// 좜λ ₯ : X: 10, Y: 20

-------------------------------------------------------
 
// νŠœν”Œ μ‚¬μš© 3  -  리슀트
List<(int, int)> pairs = new List<(int, int)>
{
    (1, 2),
    (3, 4),
    (5, 6)
};

foreach (var pair in pairs)
{
    Console.WriteLine($"First: {pair.Item1}, Second: {pair.Item2}");
}
// 좜λ ₯:
// First: 1, Second: 2
// First: 3, Second: 4
// First: 5, Second: 6


// νŠœν”Œ μ‚¬μš© 4  -  큐
Queue<(int, int)> queue = new Queue<(int, int)>();
queue.Enqueue((30, 40));

var (curX, curY) = queue.Dequeue();

int nx = curX;
int ny = curY;





μž‘λ‹΄, 일기?

νŠœν”ŒλŠ” κ°„λ‹¨ν•œ 두 개의 데이터 그룹을 λ‹€λ£¨λŠ” 데 맀우 μ ν•©ν•©λ‹ˆλ‹€.
더 λ³΅μž‘ν•œ 데이터 ꡬ쑰가 ν•„μš”ν•˜λ©΄ ν΄λž˜μŠ€λ‚˜ ꡬ쑰체λ₯Ό μ‚¬μš©ν•˜λŠ” 것도 쒋은 λ°©λ²•μž…λ‹ˆλ‹€.




πŸ“”

λŒ“κΈ€λ‚¨κΈ°κΈ°