parameter

C#/Language

C# - Language - Ref keyword (Parameter modifier)

Introduction ref 키워드는 참조 매개 변수를 의미한다. in 키워드와 마찬가지로 메서드에 전달되기 전 초기화가 필요하다. ref 키워드를 통해 넘겨진 매개 변수는 호출된 메서드에서 읽기 / 쓰기가 가능하다. ref 매개 변수는 메서드 정의와 호출 모두 명시적으로 사용해야 한다. 다음 요소가 포함된 메서드에는 in, ref, out 키워드 사용이 불가능하다. async yield return, yield break 확장 메서드에는 다음과 같은 제약이 있다. 첫 번째 인수가 ref struct가 아니거나 구조체로 제한되지 않은 제네릭 형식인 경우 사용 불가 ref readonly 키워드를 통해 읽기 전용으로 참조를 전달할 수 있다 (C# 12) Example // 값 형식 struct Test ..

C#/Language

C# - Language - Out keyword (Parameter modifier)

Introduction out 키워드는 쓰기 전용 참조 매개 변수를 의미한다. 메서드에 전달되기 전 할당은 선택사항이며, 선언된 out 파라미터는 리턴 전 값을 할당해야 한다. in 키워드와 달리, out 키워드는 호출 시 반드시 입력해야 한다. out 키워드를 사용하여 여러 값을 반환할 수 있다. 대안으로 튜플 형식 (System.ValueTuple)을 사용할 수도 있다. 다음 요소가 포함된 메서드에는 in, ref, out 키워드 사용이 불가능하다. async yield return, yield break 확장 메서드에는 다음과 같은 제약이 있다. 첫 번째 인수에는 out 키워드 사용 불가 Example public static void Foo(out int value) { value = 10; } ..

C#/Language

C# - Language - In keyword (Parameter modifier)

Introduction in 키워드는 읽기 전용 참조 매개 변수를 의미한다. 메서드에 전달되기 전 초기화가 필요하다. 읽기 전용 매개 변수가 되기 때문에 호출된 메서드 내부에서는 쓰기가 불가능하다. 참조 매개 변수로 전달되므로, 큰 크기의 값 형식 데이터를 넘기는 데 활용할 수 있다. 메서드 선언 시 in 키워드를 지정하지만, 호출 사이트에서는 일부러 키워드를 넣을 필요는 없다. in 키워드가 없는 메서드가 있는 경우에는 키워드를 넣어주어야 한다. 다음 요소가 포함된 메서드에는 in, ref, out 키워드 사용이 불가능하다. async yield return, yield break 확장 메서드에는 다음과 같은 제약이 있다. 첫 번째 인수가 구조체일 때만 사용 가능 첫 번째 인수가 제네릭인 경우 사용 불..

C#/Language

C# - Language - Params keyword (Parameter modifier)

Introduction params 키워드는 배열 형태의 인수를 지정한다. 여기서 배열은 1차원 배열이어야 한다. params 키워드 설정 시, 다른 매개 변수는 허용되지 않는다. Example public static void ParamsInt(params int[] args) { Console.WriteLine(String.Join(", ", args)); } public static void ParamsString(params string[] args) { Console.WriteLine(String.Join(", ", args)); } public static void ParamsObject(params object[] args) { Console.WriteLine(String.Join(", ",..

C#/Language

C# - Language - Method parameter

Introduction C#의 형식에는 참조(class), 값(struct) 형식이 있고 이를 메서드 매개 변수로 전달할 수 있다. 참조 형식은 변수에 대한 참조의 복사본을 전달한다. 값 형식은 변수의 복사본을 전달한다. 매개 변수를 선언할 때 사용 가능한 키워드는 아래와 같다. params : 인수의 수가 가변인 것을 지정한다. in : 매개 변수를 참조로 전달, 호출된 메서드에서 읽기 가능 ref : 매개 변수를 참조로 전달, 호출된 메서드에서 읽기 / 쓰기 가능 out : 매개 변수를 참조로 전달, 호출된 메서드에서 쓰기 가능 Example class Foo { public int Integer; } struct Bar { public int Integer; } static void ChangeVa..

C#/Common

C# - YAML을 이용한 Data serialization, deserialization

Introduction YAML은 JSON보다 간결하게 표시하기 위해 나온 상위 호환 포맷으로, XML 또는 JSON에 비해 사람이 읽기 쉽다. 호환성이 지원되므로, 상호 변환이 가능하다. JSON문서의 경우 바로 YAML로 사용 가능하다. 아래 예제는 YamlDotNet을 이용한 Data serialization, deserialization 예시이다. 꼭 YAML 포맷을 잘 알아야 하는 것은 아니다. 최소한만 알아도, 각 언어에서 활용할 수 있다. 사용에 필요한 예시는 아래 Use example - Code를 참조 본문에 나와있지 않은 struct 등도 비슷하게 사용한다. Code using System; using System.Collections.Generic; using System.IO; us..

Peponi_
'parameter' 태그의 글 목록