본문 바로가기
반응형

유니티 공부/C# 문법48

C# - Xml 및 System.Xml 클래스들 System.Xml Namespace Xml관련 작업을 수행하기 위한 클래스와 기능을 제공하는 네임스페이스 using System.Xml; 1. XmlReaderSettings Xml Reader의 동작을 설정하고 제어하는데 사용된다. public sealed class XmlReaderSettings 01 IgnoreWhitespace Xml 파일 내의 공백 문자를 무시할지 여부 public bool IgnoreWhitespace { get; set; } 02 IgnoreComments Xml 파일 내의 주석을 무시할지 여부 public bool IgnoreComments { get; set; } 2. XmlReader Xml문서를 순차적으로 읽어오는 기능 제공 public abstract class .. 2023. 8. 19.
C#- ToBytes(c#에서 포인터 사용해보기) C#에서 포인터를 사용하여 ulong타입의 값을 바이트 배열에 변환하여 저장하는 것으로 예시 ToBytes static unsafe void ToBytes(byte[] array, int offset, ulong value) 매개변수 array : 변환할 데이터를 저장하는 바이트 배열이다. offset : array 배열에서 데이터 저장할 시작 위치를 나타내는 오프셋이다. value : 바이트 배열로 변환할 ulong데이터이다. static unsafe void ToBytes(byte[] array, int offset, ulong value) { fixed (byte* ptr = &array[offset]) *(ulong*)ptr = value; } 01 ptr - araay[offset]을 가리키는 .. 2023. 8. 4.
C# - TryWriteBytes TryWriteBytes 메모리에 새로운 배열을 할당하는 대신 이미 할당된 메모리 영역인 세그먼트 버퍼를 활용하여 데이터를 작성한다. 그러므로 Span를 사용하여 기존의 메모리를 참조한다. 이로인해 데이터를 복사하는 시간과 메모리 할당 비용이 줄어든다. public static bool TryWriteBytes (Span destination, int value); 매개변수 destination : 쓰고자 하는 바이트 데이터의 목적지를 나타내는 Span value : Span에 쓰여질 int 값 반환 쓰기 작업의 성공 여부 true인 경우 destination의 크기가 작아서 int값을 쓰는데 충분한 공간이 있는 경우 int value = 12345; Span destination = new byte[4.. 2023. 8. 3.
C# - ArraySegment<T> Struct ArraySegment Struct 새로운 배열을 생성하거나 데이터를 복사하지 않고도 원본 배열의 특정 부분에 접근할 수 있다. 그렇기 때문에 원본 배열을 부분만 조작하거나 사용할 수 있다. 01 구성 struct ArraySegment { T[] array; // 원본 배열 int offset; // 배열의 시작 위치 int count; // 배열에서 사용될 요소의 개수 } 02 사용 예시 byte[] originalArray = new byte[1000]; ArraySegment arraySegment = new ArraySegment(originalArray, 100, 200); byte[] subArray = arraySegment.Array; // 원본 배열의 참조를 얻을 수 있다 int off.. 2023. 7. 19.
C# 문법 - Tuple<T1,T2> Tuple 두 개의 요소를 가지는 tuple을 나타내는 제네릭 클래스이다. public Tuple (T1 item1, T2 item2); Create(T1, T2) Tuple의 인스턴스를 생성하는 메서드 public static Tuple Create (T1 item1, T2 item2); 01 여러 값을 반환하는 메서드 public static Tupe example() { string name = "piggy"; int weight = 50; return Tuple.Create(weight,name); } 02 데이터가 여러 개의 값으로 구성된 구조 Tuple.Create메서드를 사용 Tuple piggy = Tuple.Create("piggy", 50); 생성자 사용 Tuple tuple1 = ne.. 2023. 6. 14.
C# 문법 - is, as, typeof 연산자 is 연산자 객체가 특정 형식이나 해당 형식의 파생 형식인지 확인하는데 사용한다. E is T E : 값을 반환하는 식 T : 형식 또는 매개변수의 이름 is 연산자의 true 조건 01 객체가 해당 형식의 인스턴스인 경우 02 객체가 해당 형식의 파생 형식의 인스턴스인 경우 Code 예시 object obj = 3; object obj1 = "Pig"; if (obj is int || obj1 is int) { Console.WriteLine($"obj is int {obj}"); } if (obj is string || obj1 is string) { Console.WriteLine($"obj is string {obj1}"); } class Pig { public virtual void Eat() .. 2023. 5. 17.
반응형