'C#'에 해당되는 글 14건

  1. 2018.08.17 C#-LINKQ : 소개 1
  2. 2018.08.17 C#-열거형(enum) : 다루기
  3. 2018.08.17 C#-DataTable : Column 목록 얻기
  4. 2018.08.17 C#-DataTable : 기본
  5. 2018.03.06 C#-Mouse
  6. 2018.03.05 C#. 문자관리(String,StringBuffer,Char)
  7. 2018.03.05 C#. 숫자,문자등 변환
  8. 2018.03.05 C#. 배열
  9. 2018.03.05 C#. 분기. 반복문
  10. 2018.02.02 C#.VAR

C#-LINKQ : 소개

C#/LINQ 2018. 8. 17. 13:56

[ C#-LINKQ : 소개 ]

 

1. 참고URL

    - 단계적으로 설며이 잘되어 있음.

       MS 공식 SITE

       https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/concepts/linq/

 

    - Q&A용 게시판

       https://code.i-harness.com/ko/q/12814a

 

2. 사용가능객체

    - SQL Server 데이터베이스 : LINQ to SQL

    - XML 문서                         : LINQ to XML(C#)

    - ADO.NET 데이터 집합       : LINQ to DataSet

    - IEnumerable, 제네릭 IEnumerable<T> 인터페이스를 지원하는 모든 개체 컬렉션 : LINQ to Objects(C#)

 

3. LINQ 예약어

    - 기본  : from, where orderby select

    - 추가 : join, concat, ....

 

4. LINQ(Query) syntax와 Method Syntax

    - int[] numbers = { 5, 10, 8, 3, 6, 12};

    - Query syntax

       IEnumerable<int> numQuery1 = from num in numbers
                                                        where num % 2 == 0
                                                        orderby num
                                                        select num;

    - Method syntax
       IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);

    ** 위 같은 형식을 : "람다식" 이라 함.

 

Posted by 농부지기
,

[ C#-열거형(enum) : 다루기 ]

 

1. 정의

    -

 

2. 특징

    - Enumerable.Select<TSource, TResult> 메서드 (IEnumerable<TSource>, Func<TSource, TResult>)

 

3. 예제1 - 단순 Enum

    a. 소스 설명

         - Range(1, 10) : 1~10 까지의 값을 Enumerable객체로 만듬.

         - Select method는 Enum객체의 결과를 받아서 Enum객체의 값을 계산 및 처리등을 해서 return

    b. 소스

      

 

4. 예제2 - DataTable 객체 이용

    a. 소스설명

        - 정의 : DataTable에서 컬럼목록을 배열로 가져오는 예제

        - IEnumerable<DataColumn> enr = datatable.Columns.Cast<DataColumn>();

           : datable에서 DataColumn객체를 Enum객체로 생성

           : Enum 열거형객체에 <DataColumn>객체값이 들어가 진다.

        - String[] colNmList2 = enr.Select(x => x.ColumnName).ToArray();

           : Enum 열거형객체에서 Select method를 이용해서 ColumName 만 구하게 된다.

             ColumnName이  여러게 이므로 ToArray()를 이용해서  배열객체로 만들어 return한다.
  

     b. 소스

         

Posted by 농부지기
,

[ C#-DataTable : Column 목록 얻기 ]

 

1. 정의

    - DataTable에 속해 있는 컬럼목록을 String[] 에 Setting하기

 

    * DataTable객체에서 컬럼목록을 String 배열로 얻기가 뭐 이리 복잡한지... 문법 의미를 모르겠네 ㅋ

 

2. 방법1 - LINQ 메서드 이용

    -  String[] colNm = datatable.Columns.Cast<DataColumn >()
                                                                .Select(x => x.ColumnName)
                                                                .ToArray();

 

3. 방법2 - LINQ 쿼리 이용

    -  String[] colNm2 = (from dc in datatable.Columns.Cast<DataColumn >()
                                                                                     select dc.ColumnName).ToArray();

 

4. 방법3

    - var arrayNames = (from DataColumn x in datatable.Columns
                                                                                       select x.ColumnName).ToArray();

 

 

5. 방법4

    - DataTable dt = new DataTable();
       foreach (DataColumn dc in datatable.Rows.Columns)
       {
                if (dc.ColumnName == "MyColumn")
                {
                    // Do code
                }
       }

 

6. 방법5

    - // For each DataTable, print the ColumnName.
      foreach (DataTable table in dataSet.Tables)
      {
          
foreach (DataColumn column in table.Columns)
           
{
              
Console.WriteLine(column.ColumnName);
          
}
      }

'C# > DataTable' 카테고리의 다른 글

C#-DataTable : 기본  (0) 2018.08.17
Posted by 농부지기
,

C#-DataTable : 기본

C#/DataTable 2018. 8. 17. 09:50

[ C#-DataTable : 기본 ]

 

 

1. MSDN URL

    - https://msdn.microsoft.com/ko-kr/library/system.data.datatable(v=vs.110).aspx

 

 

 

 

'C# > DataTable' 카테고리의 다른 글

C#-DataTable : Column 목록 얻기  (0) 2018.08.17
Posted by 농부지기
,

C#-Mouse

C#/Mouse 2018. 3. 6. 11:19

[ C#-Mouse ]

 

1. 특징

    . 모든 컴포넌트에 Mouse 관련 Event 존재

 

2. 다양한 마우스 이벤트가 존재
   A. MouseDown 버튼 다운
   B. MouseUp 버튼 업
   C. MouseClick 마우스 클릭
   D. MouseMove 마우스 이동 (컨트롤 내부)
   E. MouseLeave 마우스 탈출 (컨트롤 외부로)
   F. MouseDoubleClick 마우스 더블클릭


3. 마우스 이벤트 매개변수 MouseEventArgs e
   A. X 마우스 X 좌표 (화면)
   B. Y 마우스 Y 좌표 (화면)
   C. Button 마우스 버튼 종류 

        . MouseButtons.Right

        . MouseButtons.Left
   D. …

 

 

Posted by 농부지기
,

[ C#. 문자관리(String,StringBuffer,Char) ]

 

1. 문자 split 후 배열에 넣기

    . char[] delimiter = {' '};

      string[] aItem = aLine.Split(delimiter);

 

    . string delimiter = " ";

      string[] aItem = aLine.Split(delimiter.ToCharArray())

 

    . string delimiter = " ,";  //공백과 , (콤마)를 구분자로 split

      "Hello World 1,2,3,4".Split(delimiter.ToCharArray());

 

2. String & StringBuilder
   A. String 객체는 고정적, 즉 문자열 자체가 변하지 않음
   B. StringBuilder 객체는 문자열 자체 변경 가능

3. String

    A. 다양한 메스드와 속성을 제공

    B. string 인덱서: 문자열을 char 의 배열로 간주 (s[1]…)

    C. CompareTo : 문자열 비교 (같으면 0, 작으면 음수, 크면 양수)

    D. Equals or == : 문자열의 동일 여부 반환

    E. StartsWith 메소드

    F. EndWith 메소드

 

4. String (문자열) Method

   1. Substring 메소드 
      : 문자열의 부분을 복사해서 새로운 문자열을 만들어 반환 
   2. Concat 메소드 또는 + 연산자 
      : 원본 문자열들을 결합한 새 문자열을 만들어 반환 
   3. Replace 메소드 
      : 문자열의 부분 문자열을 새로운 부분 문자열로 치환한 결과를 새로운 문자열로 만들어 반환 
   4. ToLower 메소드 
      : 문자열의 소문자 버전을 반환 
   5. ToUpper 메소드 
      : 문자열의 대문자 버젼을 반환 
   6. Trim 메소드 
      : 문자열의 모든 공백 문자를 제거한 결과를 새로운 문자로 반환

   7. Remove 메소드

      : 문자열 내부 문자 제거

   8. Insert 메소드

      : 문자열 내부에 문자 추가

 

5. Char 메소드는 대부분이 static 형이다
   A. IsDigit
   B. IsLetter
   C. IsLetterOrDigit
   D. IsLower
   E. IsUpper
   F. ToLower
   G. ToUpper
   H. IsPunctuation
   I. IsSymbol

   . 사용예) Char.IsDigit(character);

 

6. 대입

    . string aLine = string.Format("X: {0}, Y: {1}", "왼쪽 0에 대입됨", "왼쪽 1에 대입됨");


 

9. String 예문

    . string ho = "Hello";

      ho[0],  ho[1]... 과 같이 String을 배열처럼 사용가능

 

'C# > 숫자.문자등 관리' 카테고리의 다른 글

C#. 숫자,문자등 변환  (0) 2018.03.05
Posted by 농부지기
,

[ C#. 숫자,문자등 변환 ]

 

1. 문자를 int 로 변환

    int userNum = Convert.ToInt32("123");

    int userNum = int.Parse("123");

'C# > 숫자.문자등 관리' 카테고리의 다른 글

C#. 문자관리(String,StringBuffer,Char)  (0) 2018.03.05
Posted by 농부지기
,

C#. 배열

C#/배열 2018. 3. 5. 22:05

[ C#. 배열 ]

 

1. 배열정의

    . 레퍼런스 타입이기 때문에 참조 값만 전달

 

2. 선언-1차원

     . int[]  scores = { 1,2,3,};

     . int sum = CalculateSum(scores);  //배열전달: 배열명을 return함.

     . double []array;

       array = new double[3];

     . double []array = new double[3]{1.0, 2.0, 3.0};

     . double []array = {1.0, 2.0, 3.0};

    
2. 선언-다차원

    . double [,]  array2 = new double[2,3] {{1.0, 2.0, 3.0}, {4.0, 5.0, 6.0}};

    . double [,,] array3 = new double[2,3,4];

 

3. 다차원배열 접근

    . double value = array2[1,2] + array3[1,2,3];

 

4. 배열 속성과 메소드

     . Length, Sort, GetLength, IndexOf

 

5. 객체 배열

    . 선언                  : Student [] std = new Student[3];

    . 배열 객체생성    : std[0] = Stdudent();

    . 배열 객체메소드 : std[0].setScore(10, 20, 30);

 

Posted by 농부지기
,

 

 

1. swtich(category)

    {

        case "1":

        case "2":

             .... 문장;

            break;

        case "3":

             ....

            break;

        default:

      }

     

 

2. 반복문

     . while(조건) { ... }

     . for(초기값; 조건; 증가문){ ...}

     . foreach...

Posted by 농부지기
,

C#.VAR

C#/var.dynamic.object 2018. 2. 2. 16:49

[ var ]


1. 정의

   C# 3.0에서 새롭게 등장한 형식으로 자바스크립트를 개발한 경험이 있다면 이미 본적이 있을 것이다. 

   자바스크립트와 마찬가지로 var로 선언된 변수는 모든 형식을 사용할 수 있지만, 

   차이점은 한번 선언된 형식은 불변으로 선언된 이후에 다른 형식의 값으로 설정 할 수 없다.


   그럼 왜 var 형식이 나오게 된 것일까? 이전 장에서 Nullable 형식에 대해 살펴 보았을 것이다. 

   이와 마찬가지로 var 형식도 DB처리와 연관이 있다. 우리가 인라인 쿼리를 작성하는 것을 생각해 보자. 

   하나의 테이블에서 조회를 할 경우도 있지만, 특정 컬럼만 가지고 오거나, 

   여러 테이블과 조인을 하여 보고자 하는 형태로 쿼리를 작성하는 경우가 더 많을 것이다.


   그럼 그 조회된 결과는 물리적으로 DB에 존재하는 테이블인가? 아니다. 

   쿼리가 발생할 때 마다 동적으로 생성되는 것이다. 

   그럼 그 조회된 결과를 C# 코드에서 받을 때는 어떻게 처리 하여야 될까? 

   C# 3.0 이전에는 DataTable이란 곳에 담거나, 

   쿼리 컬럼과 일치하는 클래스를 미리 생성해 놓아야 했다. 만약 조회 쿼리가 동적으로 변한다면? 이 또한 난감함 문제이다. 

   이럴 경우 익명 형식(anonymous type)과 함께 사용하게 되면 위에서 했던 고민이 해결 된다. 

   익명 형식은 인라인 쿼리 결과처럼 클래스를 명시적으로 선언하지 않고도 사용하고자 하는 시점에 동적으로 생성이 가능하다. 

   이렇게 동적으로 생성된 익명 형식을 var 타입으로 선언 변수 값으로 설정하면 되는 것이다. 

   익명 형식은 다음 장에서 좀더 자세히 살펴 볼 수 있다.


   var 형식은 모든 형식을 설정할 수 있지만 컴파일 시점에 형식이 확정 되므로 성능상의 이슈는 없다.


2. 사용 가능한 형식

   내장 형식(built-in type) : int, string 등

   익명 형식(anonymous type)

   사용자 정의 형식(user-defined type) : class, struct 등

   .NET FCL : Stream, List<T> 등

 


3. 선언시 유의사항

   var temp;         //초기화기 되지 않음

   var temp = null;     //특정한 형식을 가져야 함.

   메서드의 파라미터로 사용할 수 없음

Posted by 농부지기
,