개발/기본) 기본기

기본기)C#) 튜플 값 변경 List<(enum,bool)>

테샤르 2024. 8. 8. 11:45

 튜플 값 변경 List<(enum,bool)>

 

튜플의 형식으로 간단하게 특정 값을 사용하는 경우가 종종 존재한다.

사용하는 과정에서 튜플의 형식(무명)인 경우에 값을 변경하려면 못하는 경우가 발생한다.

사용하는 버전을 확인해야겠지만.

대체적으로 튜플 형태로 사용하게되면 값은 '불변(immutable)' 타입으로 사용하기 때문에 발생한다.

 

반응형

변경하는 방법으로는

새로운 튜플을 만들어서 다시 할당하는 방법이다.

'ValueTuple' 형식은 가변(mutable) 타입으로 직접 값이 변경이 가능하다.

 

< 값 변경 예시 >

using System;
using System.Collections.Generic;
using System.Linq;

public enum MyEnum
{
    Value1,
    Value2,
    Value3
}

public class Program
{
    public static void Main()
    {
        // Sample list of value tuples with enum and bool
        List<(MyEnum, bool)> infoList = new List<(MyEnum, bool)>()
        {
            (MyEnum.Value1, false),
            (MyEnum.Value2, false),
            (MyEnum.Value3, false)
        };
        
        // Target enum value to search for
        MyEnum targetEnum = MyEnum.Value2;
        
        // Find the tuple with the target enum value
        var find = infoList.Find(x => x.Item1 == targetEnum);
        
        if (find != default)
        {
            // Find the index of the found item
            int index = infoList.IndexOf(find);
            
            // Update the boolean value directly
            infoList[index] = (find.Item1, true);
        }
        
        // Output the updated list
        foreach (var item in infoList)
        {
            Console.WriteLine($"Enum: {item.Item1}, Bool: {item.Item2}");
        }
    }
}

 

 

 

익명 형식과 튜플 형식 중에서 선택  : [링크]

 

무명 형식과 튜플 형식 중에서 선택 - .NET

무명 형식과 튜플 형식 중에서 선택하는 것이 적절한 경우에 대해 알아봅니다.

learn.microsoft.com

 

튜플 형식 : [링크]

 

튜플 형식 - C# reference

C# 튜플: 느슨하게 관련된 데이터 요소를 그룹화하기 위해 사용할 수 있는 경량 데이터 구조입니다. 튜플은 여러 공용 멤버를 포함하는 형식을 도입합니다.

learn.microsoft.com

 

 

★☆☆☆☆

 

반응형