전체 글 (334) 썸네일형 리스트형 [C#] 람다식 람다식이란 람다식은 익명함수(anonymous function)을 생성하기 위한 식으로 객체 지향 언어보단 함수 지향 언어에 가까운 프로그래밍 기법이다. 함수형 프로그래밍은 병렬처리와 이벤트 지향 프로그래밍에 적합하며, 주로 고차 함수에 인자로 전달되거나 고차 함수가 돌려주는 결과값으로 쓰인다. C#에서는 LINQ에 응용하기 위해서도 사용된다. 장점 - 코드의 간결성 : 불필요한 루프문의 삭제 가능, 동일한 함수 재사용 가능 - 필요한 정보만을 사용하는 방식을 통한 퍼포먼스 향상 람다식의 기본 매개변수 => 식 좌측에 있는 매개변수들을 우측의 식에 대입하는 형식 C# 컴파일러에서는 매개변수의 형식을 유추하는 '형식 유추'기능을 사용함으로 매개변수의 형식을 생략함으로써 코드를 더 간결하게 작.. [C#] 널 자료형과 연산자 ( Nullable, Elvis 등 ) 이 글은 C에서는 쓰이지 않는 Null과 관련된 내용들을 정리하기 위해 작성하였습니다. 글에서는 아래 3가지 개념을 소개할 것입니다. 1. Nullable 2. 널 조건부 연산자 ( Elvis operator ) 3. Null 병합 연산자 기존에 자주 사용하던 C에서는 보지 못한 개념들이지만, 이것들을 잘 이용하면 효율적인 프로그램을 작성할 수 있을것 같다는 생각이 듭니다. 1. Nullable C#의 자료형에는 값 타입과 참조 타입이 있습니다. 값 타입 : 스택에 데이터를 저장하며, 코드 블록이 끝나면 사라짐 참조 타입 : 힙 메모리에 데이터를 저장하며 스택에서 이 데이터를 가리키는 주소를 저장함. 힙 메모리에 저장된 값은 코드 블록이 끝나도 사라지지 않음 참조 타입은 현재 가리키.. [C#] Csharp 델리게이트와 이벤트 델리게이트(Delegate)는 '대리자'라는 뜻으로 함수의 포인터처럼 메서드를 안전하게 캡슐화해서 사용하는 형식입니다. 델리게이트는 개체 지향적이고 형식이 안전하며 보안이 유지됩니다. 델리게이트의 기본적인 사용방법을 쉽게 설명하자면 '메소드를 참조하는 변수'라고 할 수 있습니다. 말로만 들으면 어려울수도 있으니, 아래 예제와 함께 다시 설명을 읽어보시면 이해에 도움이 될겁니다. 소스 출력 Hello1 Hello2 A B A 위에 '예제2'에서 보이듯이 한 델리게이트에 여러가지 메서드를 저장하여 한번에 호출할 수 있습니다. 이를 '멀티캐스트 델리게이트'이라고 합니다. 여기서 왜 델리게이트를 써야하나?라고 하고 물으시는 분들에게 제가 느낀것을 이야기해보자면 1. 함수의 매개변수에 델.. [C#] LINQ를 이용한 점수순으로 정렬 오늘은 LINQ라는 정말 혁신적인 기능을 배워서! 그것을 복습할 겸 프로그램을 제작해봤습니다. LINQ란 Language Integrated Qurey의 약자로, SQL를 이용하여 데이터를 빠르고 편리하게 추출하는 방식입니다. 데이터베이스를 공부하신 분들이라면 익숙한 내용이겠네요! 코드설명 먼저 점수를 비교할 학생들을 생성합니다. 이 코드에서는 학생을 설정하면 자동으로 5개의 과목에 랜덤한 점수를 얻게 설계하였습니다. 그럼 그 점수의 총합과 평균을 구한 후, 학생들의 총합 점수를 비교하여 점수가 높은 순서대로 출력하는 코드입니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy.. [C#] 배열 (이차원배열, 가변배열, 메서드) 배열 -기본형: 데이터형[] 배열명; ( 예시: int[] name; ) -기본적으로 new를 통해 생성(초기화)하는 참조형이다. -모든 배열은 new를 통해생성할때만 비로소 배열로의 역할이 가능하다. -Array로부터 파생되기 때문에 Array의 메소드들을 상속받는다. -함수의 인자값이나 리턴값으로 사용할 수 있다. -예제 이차원 및 다차원 배열 -이차원배열: 데이터형[,] 배열명; -삼차원배열: 데이터형[,,] 배열명; 가변배열 -행과 열에 대한 계수를 고정하는것이 아니라 가변적으로 다르게 생성할 수 있는것을 이야기 -기본형: 데이터형[][] 배열명; ( 예시: int[][] name; ) -사용예 int[][] array = { new int[] {1, 2, 3}, new int[] {.. [C#] C샵 구조체 예제 1. C# 구조체의 기본적인 특성 -멤버, 속성, 메서드를 입력 가능합니다. -const, static형만 구조체 내에서 초기화 가능합니다. -new를 이용하여 구조체를 생성하면 초기화 되지 않은 값들이 0으로 초기화됩니다. -구조체는 값으로 취급되어, 다른 구조체에 구조체 값을 복사할 수 있습니다. 2. 구조체와 클래스의 차이 -구조체는 값이지만 클래스는 참조의 성격을 갖고 있습니다. -구조체는 값만을 복사하지만, 클래스는 포인터처럼 참조를 복사해서 다음와 같은 결과가 출력됩니다. Structure types - C# reference Learn about the struct type in C# docs.microsoft.com 3.MSDN 이 글은 아래 강의를 .. 인생을 구하는 타이밍의 비밀 인생의 궁극적인 '언제'와 관련된 질문에 답할 때는 낭만주의자보다 과학자의 말을 경청해야 한다. 이 문제에 관한 한 열정보다는 분별력이 중요하다. -언제 할 것인가, 133p 사람들은 계획한 일을 어떻게 성공시킬지 고민하거나, 잘못된 일에서 어떤 것이 잘못되었는지 파악할 때 '어떻게'에 대해서만 생각하지 '언제'에 대해서는 잘 생각하지 않는다. 나도 시험에 합격하기 위해서는 어떤 과목을 어떻게 공부할지만 생각하지, 언제 공부할지는 잘 생각하지 않았다. 하지만 인생에서 타이밍은 매우 중요하다. 같은 방법으로 일을 시작했더라도, 시작하는 타이밍에 따라 결과가 매우 크게 달라진다는 연구결과들이 그것을 증명한다. 공부, 글쓰기, 장사, 심지어 인생의 행복도를 높이는 것 까지 타이밍에 의해 그 결과가 크게 차이나.. 믿음이 운명을 결정한다 너희가 믿은 대로 되리라. -마태복음 9장 29절 현재 한국에서는 완벽주의와 SNS를 통한 상대와의 비교로 자신감을 잃은 사람들이 넘쳐나고 있다. 부모님과 사회에서 정해놓은 완벽한 틀에 자기자신을 비교하며 자신을 못난사람, 능력이 없는사람으로 믿고있다. 현재 대한민국 국민들의 체감실업률은 27.36%1로 정부 집계(4.5%,2019년 1월기준)실업률의 6배가 넘는 것으로 나타났고, 국민의 70%가 남들보다 소득수준이 뒤떨어진다고 생각2했다. 많은 한국사람들이 자신을 실제보다 얕보고 있는 것이다. 이는 대단히 위험한 사실이다. 사람은 믿는대로 행동하기 때문이다. 1등이 되지 못한 2등이, 2등도 충분히 뛰어난 성과라는 것을 인지하지 못하고 '나는 안될놈이야'라며 자기비하를 하다가 순위가 확 떨어지는 일이 .. 이전 1 ··· 30 31 32 33 34 35 36 ··· 42 다음