본문 바로가기

C# 공부

(22)
메소드(Method) - 2 (오버로딩, 가변길이 매개변수, 명명된 매개변수, 선택적 매개변수, 로컬함수) A. 메소드 오버로딩 오버로딩(Overloading) : '과적하다'라는 뜻을 가진다. 메소드 오버로딩은 하나의 메소드이름에 여러개의 구현을 올리는것을 뜻한다. ex) Console.WriteLine(bool value) Console.WriteLine(int value) 이와같이 WriteLine() 메소드는 총 19개버전을 오버로딩하고있다. B. 가변길이 매개변수 C#은 같은형식의 매개변수의 "수"가 다른경우를 위해 "가변 길이 매개 변수"라는 기능을 제공한다. ex) static int Sum(params int[] args) { int sum=0; for(int i=0;i0) Console.Write(", "); Console.Write(args[i]); sum+=args[i]; } Console..
메소드(Method) - 1 (참조에의한 매개변수 전달, 결과를 참조로 반환, 출력전용 매개변수) C와 C++ 에서는 함수 (Function), 파스칼에서는 프로시져(Procedure), 혹은 다른언어에서는 서브루틴(Subroutine)이나 서브프로그램(Subprogram)이라 불렸다. 엄밀하게는 의미차이가 존재하지만, 큰 맥락에서 이 용어들은 같은용어를 지칭함. A. 참조에 의한 전달 (pass by reference) 1. 매개변수전달 메소드에서 매개변수로 전달된 변수를 직접 참조하여 변수값이 변경됨. (매개변수 자료형 앞에 ref를 붙인다) ex) static void Swap(ref int a, ref int b) { int temp=b; b=a; a=temp; } 2. 결과를 참조로 반환하기 메소드 호출자에게 반환받은 결과를 참조로 다룰수있도록 한다. 선언시 반환형 앞에 ref, 리턴뒤에 r..
코드의 흐름 제어 (do while, for each, 점프문) A. 반복문 1. do while문 조건식 평가하기전 무조건 한번 코드를 실행 - 예시코드 int a=10; do{ Console.WriteLine(a); a -= 2; }while(a>10); //끝에 ; 가 필수! 2. for each문 - 형식 foreach(데이터 형식 변수명 in 배열_또는_컬렉션) 코드 - 예시코드 int[] arr = new int[]{0,1,2,3,4}; foreach(int a in arr){ Console.WriteLine(a); } B. 점프문 C#에서의 점프문은 5가지 1. break 2. continue 3. goto 4. return 5. throw
Null 연산자 (Nullable 형식, Null 조건부 연산자) 먼저 Nullable 형식에 대해 정리 변수에 메모리공간을 비워두도록 만드는 형식(쓰레기값이 안들어간다) -선언 int? a=null; double? b=null; - Null 조건부 연산자 ( ?. ) C# 6.0이후 도입되었다. 해당객체 멤버에 접근하기전에 객체가 null인지 검사해서 결과가 참이면(객체가 null이면) 결과로 null 반환, 그렇지않으면 . 뒤에 지정된 멤버를 반환. ex) class Foo{ public int member; } Foo foo = null; int? bar; //nullable 변수선언 bar = foo?.member //foo 객체가 null이 아니면 member필드에 접근하게 해줌. C. 병합 연산자 (??) null 병합연산자는 왼쪽 피연산자 값이 null이 ..
문자열 서식 맞추기 (Format(), 문자열 보간) 1. Format() 메소드 기본적으로 Console.WriteLine("제목 :{0}", "이것이 C#이다"); 메소드 내부에서 String.Format() 메소드가 동작하고있다. - 구조 {첨자, 맞춤 : 서식 문자열} 첨자 : 서식 항목의 첨자 맞춤 : 왼쪽(-)/오른쪽 맞춤 서식문자열 : 변환 서식 지정 문자열 a. 맞춤기능 : 프로그램이 여러개의 항목을 가지런히 출력할때 필요하다. string result = string.Format{"{0}DEF","ABC"}; // result = "ABCDEF" string result = string.Format{"{0,-10}DEF","ABC"}; // result = "ABC DEF" string result = string.Format{"{0,10}..
.NET Core에 대한 정리 * 이 글은 Youtube에서 활동중인 노마드코더님의 영상기반으로 작성했습니다. 2020년기준 ASP.NET Core 프레임워크의 선호도는 1위 1. .net core는 MS가 빌드한 개발자 플랫폼이다. 2. C#, F#, Visual basic으로 뭐든 빌드할수 있도록, .NET과 C# 으로는 IOT, xamarin으로 android, IOS 앱을 만들수있으며, 데스크탑 App, 머신러닝까지만들수있다, + 심지어 웹 백엔드까지 가능함. asp.net core는 웹 백엔드, 웹사이트를 빌드할수 있도록 해준다. - asp.net.core 사용자? 텐센트, 스택오버플로우, godaddy(호스팅/도메인회사) 장점 : 회사들이 사용하기 쉽게되어있음. 엄청 엄청 빠르다. java로 초당 78만 request, n..