개발/기본) 기본기
기본기)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}");
}
}
}
익명 형식과 튜플 형식 중에서 선택 : [링크]
튜플 형식 : [링크]
★☆☆☆☆
반응형