티스토리

생각의 힘
검색하기

블로그 홈

생각의 힘

b-lab.tistory.com/m

log2348 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • [C#] LINQ LINQ Language Integrated Query. C# 3.0부터 추가가 되기 시작한 문법으로, C# 언어에서 쿼리 기능을 사용하는 것. 기본적으로 람다 표현식을 사용하여 간결하고 가독성 좋게 작성 가능하다. LINQ는 SQL의 문법을 가지고 다양한 쿼리를 통해 데이터를 가공하고 집계하는 등에 사용된다. 전통적인 방식으로 for과 if문을 가지고 특정 데이터들을 가공하고 집계내는 것도 가능하지만, LINQ를 이용하면 빠르고 정확하게 데이터를 찾는 것이 가능하다. 공감수 0 댓글수 0 2022. 12. 11.
  • [C#] DataSet, DataTable, DataRow C#에서는 DB데이터나 엑셀 데이터 등을 한번에 테이블 형태로 관리할 수 있다. 큰 흐름을 보자면, DataRow -> DataTable -> DataSet 인데, DataRow는 데이터가 모인 한 열(레코드)이라고 생각하면 되고, 열(레코드)이 모인 집합체를 DataTable이라고 생각하면 되고, Table이 모인 것이 DataSet이라고 생각하면 된다. 레코드의 집합이 테이블, 테이블의 집합체가 스키마듯이 C#에서도 DataRow의 집합체가 DataTable이고, DataTable의 집합체가 DataSet이라고 생각하면 된다. 공감수 0 댓글수 0 2022. 12. 11.
  • [C#] ?. ?? 연산자 ?. 연산자 Null이 아니라면 참조하고 Null이라면 Null로 처리 하라는 뜻 ?? 연산자 Null이 아닌 경우 왼쪽 피연산자의 값을 반환한다. 그렇지 않으면 오른쪽 피연산자의 값을 평가하고 그 결과를 반환한다. 공감수 0 댓글수 0 2022. 12. 11.
  • [C#] delegate delegate 대리자라는 의미, 메소드에 대한 참조를 갖는 형식 public class DelegateTest { // 대리자 생성 // 매개변수가 없고 반환타입이 void인 메소드만 참조 가능 delegate void Delegate(); /* static void Main() { // 대리자 객체 생성 Delegate myDelegate; // Print 메소드 참조 myDelegate = Print; // 대리자를 이용한 메소드 호출 myDelegate(); // 메소드를 참조하는 형식 // 1. myDelegate = new Delegate(Print); // 2. myDelegate = Print; // 3. myDelegate += Print; } */ public static void Pr.. 공감수 0 댓글수 0 2022. 10. 10.
  • [C#] Parse, TryParse, Convert Parse 문자열 표현을 해당하는 형으로 변환한다. ToString()과 비슷한 표현. string str = String.Empty; try { int result = int.Parse(str); Console.WriteLine(result); } catch (FormatException e) { Console.WriteLine(e.Message); } // '' 파싱 불가 // 예외 발생 Convert 기본 데이터 형식을 다른 기본 데이터 형식으로 변환한다. Boolean, Char, Byte, Double, String, DateTime 등의 형식들을 지원한다. string 타입을 int 타입으로 바꿀 수 있는 값들은 변환이 잘 되지만, 정수가 아닌 실수형이거나, 숫자가 아닌 문자열이 할당되어 있다.. 공감수 2 댓글수 0 2022. 10. 10.
  • [C#] 제네릭 generic 제네릭(generic) 제네릭이란 데이터의 타입을 일반화(generalize) 한다는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 이렇게 컴파일 시에 미리 타입 체크를 수행하면 다음과 같은 장점을 가진다. 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. 'T'를 타입 변수(type variable)라고 하며, 임의의 참조형 타입을 의미한다. 꼭 'T' 뿐만 아니라 어떠한 문자를 사용해도 상관없으며, 여러 개의 타입 변수는 쉼표(,)로 구분하여 명시할 수 있다. 제네릭의 제거 시기 코드에서 선언되고 사용된 제네릭 타입은 컴파일 시 컴파일.. 공감수 0 댓글수 0 2022. 10. 10.
  • [C#] 확장 메소드 Extension Method 확장 메소드 C#은 상속 하지 않고도 이미 만들어진 클래스에 새로운 메소드를 추가할 수 있는 방법을 제공하며, 이를 확장 메소드(Extension method) 기법이라고 한다. 확장 메소드 기법을 사용하기 위해서는 아래 규칙을 순서대로 지켜야 한다. 1. 확장 메소드들을 정의할 클래스를 static으로 선언한다. 2. 정의한 클래스 내부에 확장하고 싶은 메소드를 static으로 선언한다. 3. 첫 번째 파라미터로 메소드가 포함되어질 클래스를 this 포인터와 같이 적어준다. 4. 그 뒤로는 메소드가 요구할 나머지 파라미터들을 순서대로 적어준다. 확장 메소드는 정적 메소드처럼 정의하되, 첫 번째 매개변수에는 어떤 형식의 확장 메소드인지를 결정하게 된다. 기존 정의된 메소드와 동일한 이름을 갖는 확장 메소.. 공감수 0 댓글수 0 2022. 10. 7.
  • [C#] 접근 제한자 Access Modifier 접근 제한자 (Access Modifier) 접근 한정자라고 불리기도 하며, 타입의 범위 뿐만 아니라 멤버의 접근 범위를 정의하는 데 사용되는 기술. 클래스 또는 클래스의 멤버의 접근 가능 여부는 접근 제한자에 의해 정의된다. C#의 5가지 접근 제한자 1. private 2. public 3. protected 4. internal 5. protected Internal 접근 제한자 클래스 내부 외부 클래스 파생(자식) 클래스 프로젝트 public ○ ○ ○ ○ protected ○ ○ internal ○ ○ ○ private ○ protected internal ○ ○ 어셈블리는 하나의 단일한 단위로 존재하는 .NET의 실행 가능한 프로그램 또는 실행 프로그램의 일부이며 실행 및 배포의 단위라고 할 .. 공감수 0 댓글수 0 2022. 10. 7.
  • [C#] IEnumerable IEnumerable List, Stack, Queue와 같은 컬렉션에 반복이 필요한 경우 사용되는 인터페이스. 기본적으로 컬렉션은 이미 IEnumerable 인터페이스를 가지기 때문에 foreach문을 사용하여 컬렉션 요소들을 반복적으로 접근할 수 있다. 공감수 0 댓글수 0 2022. 10. 6.
  • [C#] ref out ref 키워드 ref 키워드는 인수를 참조로 전달하는 데 사용된다. 즉, 해당 매개 변수의 값이 메소드에서 변경되면 호출하는 메소드에 반영된다. out 키워드 out 키워드는 ref 키워드와 같은 인수를 전달하는 데도 사용되지만 값을 할당하지 않고도 인수를 전달할 수 있다. 공감수 0 댓글수 0 2022. 10. 6.
  • [C#] Property 프로퍼티 캡슐화 프로퍼티의 개념을 설명하기에 앞서 "캡슐화"에 대한 기본적인 이해가 필요하다. 캡슐화는 정보 은닉을 위해 클래스에서 선언된 변수가 외부에서 접근이 안되도록 public이 아닌 private으로 선언하여 외부에서 접근을 불가능하게 한다. 프로퍼티는 get과 set을 사용하여 private으로 선언된 변수에 접근이 가능하도록 한다. 프로퍼티(Property) class Lion : IAnimal { private int id; private string name; private int age; public int Id { get { return age; } // get method set { age = value; } // set method } public string Name { get; set;.. 공감수 0 댓글수 0 2022. 10. 6.
  • [C#] 상속 : base, base() // 부모 클래스 public class Person { protected string name = "박지현"; // virtual이 붙은 함수는 자식 클래스에서 재정의가 가능하다 public virtual void GetInfo() { Console.WriteLine("Name : {0}", name); } } // 자식 클래스 public class Employee : Person { public string id = "M0123"; public override void GetInfo() { base.GetInfo(); Console.WriteLine("Employee ID : {0}", id); } } 자식 클래스명 뒤 콜론(:)을 붙여주고, 그 뒤에 상속받을 부모 클래스명을 붙여준다. base :.. 공감수 1 댓글수 0 2022. 10. 5.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.