본문 바로가기

반응형

C#

일반화 메소드 일반화 메소드 일반화 메소드 ( Generic Method )는 이름처럼 (데이터 형식을) 일반화한 메소드입니다 일반화 메소드가 어떤 장점이 있는지 알아보겠습니다. 사용방법은 일반화 메소드와 일반 메소드는 비슷하게 사용을 합니다. 한정자 반환형식 메소드이름 ( 매개 변수 목록 ) {//} 위와 같이 사용을 하게 됩니다. 문법적으로는 크게 어려운것이 없습니다. namespace ConsoleApp9{ class Program { static void Main(string[] args) { int[] _Member = { 1, 2, 3, 4, 5, 6 }; int[] _Copy = new int[_Member.Length]; CopyArry(_Member, _Copy); foreach (int i in _C.. 더보기
확장 메소드 확장 메소드 오늘은 확장 메소드에 대하여 소개를 하려고 합니다. 사전적 의미는 확장메소드(Extension Method )는 기존 클래스를 확장하는 방법입니다. 여기에서 필드나, 메소드를 추가하는 상속이랑은 다른 경우 입니다. 확장 메소드는 "기존 클래스를 확장"을 한다. 가 되겠습니다. 특징 1. 반드시 static으로 선언을 하여야 한다. 2. 첫번째 매개변수는 반드시 this로 시작해야 된다. 3. 확장하고자 하는 클래스의 형식이어야 합니다. [문법]namespace 네임스페이스이름 {public static class 클래스 이름 {public static 반환형식 메소드 이름 ( this 대상형식 식별자, 매개 변수 ) {}}} [예제1]using MyExtension; namespace thi.. 더보기
Ref, Out에 의한 참조(Reference) Ref, Out에 의한 참조(Reference) 함수의 인수 전달의 또 다른 방법으로 매개변수를 참조로 넘길수도 있다. 우선 결론부터 말하면 참조형 매개 변수(Reference Parameter)는 "메모리 위치에 대한 참조"다 Ref에 의한 참조 namespace Reference{ class Program { static void Main(string[] args) { int X1 = 10; CallbyRef(ref X1); Console.WriteLine("Call By Reference : {0}", X1); } static void CallbyRef(ref int X) { X = 1000; } } } 결과 : 1000 함수에 ref라는 키워드가 붙는다 이렇게 사용을 하게 되면 Ref에 의한 참조.. 더보기
값 타입 값타입 값 타입 : 스택에 할달되며 변수가 값 자체를 직접 가진다. 정수, 문자, 실수 들의 내장타입과 열거형, 구조체등이 값 타입이며 주로 크기가 작고 길이가 고정적인 값을 저장한다. 선언하는 즉시 기억장소가 할당되므로 별도 초기화가 필요 없다, System.Byte :( 크기 1), 부호 없음 System.sByte :( 크기 1), 부호 있음 System.Int16 :( 크기 2), 부호 있음 System.Uint16 : (크기2), 부호 없음 System.Int32 : (크기4), 부호 있음 System.UInt32 :(크기4), 부호 없음 System.Int64 : (크기8), 부호 있음 System.UInt64:(크기8), 부호 없음 System.Char :(크기 2), 부호 있음 System.. 더보기
삭제 패턴 https://docs.microsoft.com/ko-kr/dotnet/standard/design-guidelines/dispose-pattern 모든 프로그램 실행을 사용 하는 동안 메모리, 시스템 핸들 또는 데이터베이스 연결과 같은 하나 이상의 시스템 리소스를 획득합니다. 개발자가 직접 획득 고 사용한 후 해제 되어야 합니다 때문에 이러한 시스템 리소스를 사용할 때는 주의 해야 해야 합니다.CLR 자동 메모리 관리에 대 한 지원을 제공합니다. 관리 되는 메모리 (C# 연산자를 사용 하 여 할당 된 메모리 new) 명시적으로 해제 될 필요가 없습니다. 가비지 수집기 (GC)에 의해 자동으로 해제 됩니다. 이 개발자의 메모리를 확보 걸리고 어려운 작업에서 해제 하 고 되었으면.NET Framework에.. 더보기
param 매개 변수 Param 매개 변수 params 키워드를 사용하면 가변 개수의 인수를 사용하는 메서드 매개 변수를 지정할 수 있습니다. 매개 변수 선언이나 지정된 형식의 인수 배열에 지정된 형식의 쉼표로 구분된 인수 목록을 보낼 수 있습니다. 인수를 보내지 않을 수도 있습니다. 인수를 보내지 않는 경우 params 목록의 길이는 0입니다. 메서드 선언에서 params 키워드 뒤에는 추가 매개 변수가 허용되지 않으며, params 키워드 하나만 메서드 선언에 사용할 수 있습니다. public class MyClass { public static void UseParams(params int[] list) { for (int i = 0; i < list.Length; i++) { Console.Write(list[i] +.. 더보기
DELEGATE , 델리게이트 Callback 함수 및 Delegate 란 C++이나, C를 공하를 한사람은 Callback을 정말 어렵게 사용을 하였을 것입니다. 하지만 C#에서는 정말 간단히 Callback을 사용 즉 Delegate를 사용을 할수가 있습니다. 이번에 설명 드릴 내용들Callback 이란 무엇인가?Delegate는 무엇인가? CallBack 이란 사전적 의미 : Call ( 호출하다 ) Back ( 되돌려주다 ) 가 됩니다. 호출한 여석에게 다시 되돌려 주는것이 Callback 하지만, C#에서는 Delegate로 사용을 하고 있습니다. C++ 예제 using namespace System; using namespace System::Runtime::InteropServices; // A delegate type... 더보기

반응형