VisualStudio/C# 40

[C#] Func 람다식 Expression오류(cs0834)

우선 Func 람다 형식은 표현식(Expression)람다와 문(Statement)람다 2가지가 존재한다. 표현식(Expression) 람다: 하나의 표현식으로만 구성된 람다입니다. 이 경우 return 키워드를 사용하지 않고, 람다의 결과는 그 표현식 자체가 됩니다.Func square = x => x * x; // 표현식 람다문(Statement) 람다: 중괄호 {}를 사용하여 여러 문으로 구성된 람다입니다. 이 경우 return 키워드를 사용할 수 있습니다.Func square = x =>{ int result = x * x; return result; // 문 람다에서는 return 사용 가능}; C#에서 CS0834 오류는 "A lambda expression with a statem..

VisualStudio/C# 2024.09.11

[C#] is 와 as

C#에서 is와 as 키워드는 타입 검사를 수행하고 타입 변환을 안전하게 처리하는 데 사용됩니다. 이 키워드들은 특히 상속 관계에 있는 객체를 다룰 때 유용합니다.is 키워드is 키워드는 객체가 특정 타입인지 확인할 때 사용됩니다. 객체가 해당 타입이거나 해당 타입에서 파생된 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 또한, C# 7.0부터는 is 키워드를 사용하여 변환된 결과를 새로운 변수에 할당할 수도 있습니다.class Base { }class Derived : Base { }class Program{ static void Main() { Base b = new Derived(); if (b is Derived) { ..

VisualStudio/C# 2024.05.27

[C#] AES128 암호화

AES는 128 비트 블록 크기를 가지며, 128, 192 또는 256 비트의 키를 사용할 수 있습니다. AES는 라운드라는 여러 단계를 거쳐 데이터를 암호화하고 복호화합니다. 각 라운드에서는 다양한 변환 과정을 거쳐 데이터가 혼합되고 변환됩니다.AES의 특징은 다음과 같습니다:안전성: AES는 공격에 강한 구조를 갖고 있습니다. 충분한 키 크기와 충분한 라운드 수를 사용하여 안전한 암호화를 제공합니다.효율성: AES는 효율적인 구현이 가능하며, 속도와 리소스 사용을 최적화하여 빠른 암호화 및 복호화를 제공합니다.대칭 키 알고리즘: AES는 대칭 키 알고리즘입니다. 즉, 암호화 및 복호화에 동일한 키가 사용됩니다.표준화: AES는 미국 국가 표준 기술 연구소(NIST)에 의해 표준으로 채택되었습니다.AE..

VisualStudio/C# 2024.05.07

[프로그래머스/C++] 조건에 맞게 수열 변환하기 2

https://school.programmers.co.kr/learn/courses/30/lessons/181881 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 #include #include using namespace std; int solution(vector arr) { int answer = 0; vector temp; while (true) { temp = arr; for (int i = 0; i = 50 && v % 2 == 0) { arr[i] = v / ..

VisualStudio/C# 2024.03.07

[C#] Google Protobuf형식 기반 ProtoBuff-net 사용 방법

Protobuf 참고 사이트 및 공식 https://github.com/protobuf-net/protobuf-net GitHub - protobuf-net/protobuf-net: Protocol Buffers library for idiomatic .NET Protocol Buffers library for idiomatic .NET . Contribute to protobuf-net/protobuf-net development by creating an account on GitHub. github.com https://dotnetcoretutorials.com/protobuf-in-c-net-part-1-getting-started/#google_vignette Protobuf In C# .NET..

VisualStudio/C# 2023.11.02

[C#] List<T> LINQ 모음

1. Take List에서 index 0부터 원하는 count만큼 객체를 반환한다 이때 ListCount보다 찾고자 하는 Count가 클 경우 오류가 발생하지 않고 List가 반환된다. 아래 예제는 0번인덱스 부터 0~1 2개의 객체를 반환하라는 뜻이다. static void Main(string[] args) { List testList = new List() { 1,2,3,4,5 }; List taskList = testList.Take(2).ToList(); foreach (var item in taskList) Console.WriteLine(item); } 2. Skip List에서 원하는 index부터 끝까지 객체를 반환한다. 아래 예제는 3번 index 부터 나머지 모든 객체를 반환한다. s..

VisualStudio/C# 2023.09.21

[C#] Enum타입 리플렉션(Reflection)사용하여 값 받아오는 방법

정의한 Enum enum TestEnum { test1, test2, test3, } Enum -> string string name1 = Enum.GetName(typeof(TestEnum), 0); string name2 = Enum.GetName(typeof(TestEnum), TestEnum.test1); Console.WriteLine($"{name1}, {name2}"); Enum -> string[] string[] names = Enum.GetNames(typeof(TestEnum)); foreach (string name in names) { Console.Write($"{name}, "); } string -> Enum TestEnum myenum1 = (TestEnum)Enum.Par..

VisualStudio/C# 2023.02.16

[C#] Byte와 문자열간 변환 방법과 인코딩 방식 설명

Byte to String1. Encoding 클래스 사용 ( UTF8, ASCII, Unicode)System.Text.Encoding 클래스는 다양한 인코딩 방식을 제공합니다. UTF8, ASCII, Unicode 등을 사용하여 byte 배열을 문자열로 변환할 수 있습니다. 특징텍스트 데이터를 저장할 때 주로 사용한다.byte[] bytes = { 72, 101, 108, 108, 111 };string str = Encoding.UTF8.GetString(bytes);Console.WriteLine(str); // 출력: Hello2. BitConverter 클래스 사용 (16 진수)System.BitConverter 클래스는 byte 배열을 16진수 문자열로 변환하는 방법을 제공합니다. 데이터 디..

VisualStudio/C# 2023.02.09

[C#] Struct를 byte로 변환, byte를 Struct로 변환

static byte[] StructToByte(object obj) { //구조체 사이즈 int size = Marshal.SizeOf(obj); //사이즈 만큼 메모리 할당 받기 byte[] buffer = new byte[size]; IntPtr ptr = Marshal.AllocHGlobal(size); //구조체 주소값 가져오기 Marshal.StructureToPtr(obj, ptr, false); //메모리 복사 Marshal.Copy(ptr, buffer, 0, size); Marshal.FreeHGlobal(ptr); return buffer; } public static byte[] StructToByte(T structure) where T : struct { byte[] buffer..

VisualStudio/C# 2023.02.02