728x90
728x170
■ implicit operator 키워드를 사용해 암시적 변환을 처리하는 방법을 보여준다.
▶ Data.cs
namespace TestProject;
/// <summary>
/// 데이터
/// </summary>
public class Data
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 값 - Value
/// <summary>
/// 값
/// </summary>
public int Value { get; set; }
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - Data(value)
/// <summary>
/// 생성자
/// </summary>
/// <param name="value">값</param>
public Data(int value)
{
Value = value;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Public
#region 정수로 암시적 변환하기 - int(data)
/// <summary>
/// 정수로 암시적 변환하기
/// </summary>
/// <param name="data">데이터</param>
public static implicit operator int(Data data)
{
return data.Value;
}
#endregion
#region 데이터로 암시적 변환하기 - Data(value)
/// <summary>
/// 데이터로 암시적 변환하기
/// </summary>
/// <param name="value">값</param>
public static implicit operator Data(int value)
{
return new Data(value);
}
#endregion
}
▶ Program.cs
namespace TestProject;
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
int value1 = 10;
Data data = (Data)20;
int value2 = value1 + data;
Console.WriteLine($"값 1 : {value1}");
Console.WriteLine($"데이터 값 : {data.Value}");
Console.WriteLine($"값 2 : {value2}");
}
#endregion
}
728x90
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NET6] DefaultValueAttribute 클래스 : TimeSpan 타입 속성의 디폴트 값 설정하기 (0) | 2022.09.01 |
---|---|
[C#/COMMON/.NET6] TimeSpan 구조체 : 디폴트 함수 인자 정의하기 (0) | 2022.09.01 |
[C#/COMMON/.NET6] String 클래스 : Join 정적 메소드를 사용해 문자열 결합하기 (0) | 2022.09.01 |
[C#/COMMON/.NET6] 이진 검색 트리(Binary Search Tree) 사용하기 (0) | 2022.08.26 |
[C#/COMMON/.NET6] 제곱근 계산하기 (Math.Sqrt 정적 메소드 미사용) (0) | 2022.08.25 |
[C#/COMMON/.NET6] 컬럼 기준으로 2차원 배열 정렬하기 (0) | 2022.08.19 |
[C#/COMMON/.NET6] 가변 배열 사용하기 (0) | 2022.08.19 |
[C#/COMMON/.NET6] Array 클래스 : Sort 정적 메소드를 사용해 자연 정렬하기 (0) | 2022.08.15 |
[C#/COMMON] Regex 클래스 : Replace 정적 메소드를 사용해 다중 공백 문자열을 단일 공백 문자열로 대체하기 (0) | 2022.07.28 |
[C#/COMMON/.NET6] String 클래스 : 다중 공백 문자열을 단일 공백 문자열로 대체하기 (0) | 2022.07.28 |