본문 바로가기

728x90
반응형

프로그래밍&IT/C#

(30)
C# 접근 제한자 / 접근자 관련 (private, public, protected ...) OOP 프로그래밍을 하면서 기본적으로 class 등 여러가지를 배우게 되는데그중 하나인 접근제한자를 정리해봤습니다. 접근 제한자 설명 public 클래스 내, 외부와 파생 클래스에서도 클래스 멤버에 접근 가능 private private를 포함한 클래스 내에서만 접근 가능. 파생 클래스에서도 접근할 수 없다. OOP의 캡슐화때문인듯 protected 기본 클래스와 파생 클래스에서만 접근 가능. private 와 public의 중간이라 보면 될려나? internal 동일 어셈블리 내에서 접근 가능 protected internal 동일 프로그램 내에서 혹은 파생 클래스에서 클래스 멤버 이용가능 접근 제한자 클래스 내부 외부 클래스 파생 클래스 프로젝트 public O O O O private O prote..
using : namespace 선언 외 다른 활용 using에 대해서 다시 체크요즘 다시금 프로그래머로 살아야 할것(?)같네요.이번에 c#.net을 공부하면서 using 의 다른 활용을 보게 되었습니다. 즉, 가장 많이 쓰이는c#.net에서 제공하는 System namespace 이나 개발자가 만든 namespace 호출 등의 활용 외(System.Data / System.Windows.Forms 등 등, C/C++ 에서 쓰이는 #include같은, 자바에선 import) Ex) 프로그래밍 문장 중간에서도 쓰이는 걸 다시금 인식했네요...이래저래 학습 및 자료찾아보다가 네이버 선생에서 검색해서 확인했습니다. (물론 습득했다는건 아니고...)---------------- ▶ C#에서 using 의 용도는? using 지시어는 두 가지 용도로 사용됩니다. ..
논리 연산자 우선순위 논리 연산자 (logic operator)2개의 피연산자의 논리관계를 나타내는 논리곱(&&), 논리합(||)1개의 피연산자를 갖는 논리부정 (!)이 존재. 우선순위는논리부정이 제일 높고,논리곱 그리고 논리합의 순서. 의미 연산자 우선순위 형태 논리 부정 ! 높다 낮다 !x 논리곱 && x && y 논리합 || x || y 기본적인것부터 다시 공부중입니다. 그래도 프로젝트 하나 제대로하면팍팍 늘텐데요.
DateTime 클래스 C#에서 DateTime관련Class : System.DateTimec#에서 시간이나 날짜와 관련해서현재 시간,날짜을 얻어오거나 더하는 등의 역할 수행 Add계열 함수들- 일, 월, 시간 등 뭔가를 더할때Ex) AddDays, AddHours, AddMonths 등 등 그 외Day, Date 등 시간을 나타내는 멤버변수들 포함함. 예시) //DateTime 선언 및 현재날짜로 초기화까지DateTime curDate = DateTime.Now; // string형식의 저장 변수 선언string str = string.Empty; // string 변수에 저장위해서//각 결과값을 string화 한다. ToString 함수 이용str = curDate.Year.ToString("0000") + "/" + //..
C# 숫자결과의 출력 포맷 지정 간혹 숫자값에 대해서통화나 소수점 표시 등 포맷을 설정할수 있다. -> 이걸 잘 몰라서 좀 헤매던 때가 있었습니다.float로 나오는 값의 소수점 2자리만 나타내고 싶어서string으로 형변환해서 표시하는 등 비효율적인 코딩을 했었는데...공부를 좀 더 해야겠네요.. 숫자 출력 포맷 지정 문자 설명 C or C 통화 단위로 출력 D or d 정수형 숫자 출력 E or e 지수형 숫자 출력 F or f 고정 소수점 형태 숫자 출력 G or g 고정 소수점이나 정수 형태로 적절하게 출력 N or n 콤마(,) 를 중간에 삽입해 출력 X or x 16진수로 출력 -> G의 경우 설명이 애매해서 좀 더 확인해보니f처럼 소수점을 지정할수 있었습니다.그리고 소수점미지정시 반올림해서 값을 표현하는것 같습니다. Tes..
c# Value & Reference type , 기본 데이터 타입 사실 c#으로 프로젝트,SI 보단시스템 유지보수나 개인작성으로만 하다보니실용만 생각했지기본적인 면에서 약간 헷갈리는 부분도 존재했습니다. 구분 값 형식 (Value type) 참조 형식 (Reference Type) 종류 내장형 (int, char, float, ...) 사용자 정의형 (enum, struct) Object, string 메모리 사용 Stack Stack, Heap 대입 (Assignment) 복사 참조 변경 크기 고정 가변 Garbage Collector 지원 지원 X 지원 O -> 다시 한 번 기본적인 것부터 생각해볼 수 있었네요...문제는 가베지 콜렉터 지원이 무조건 다 되는줄 알았는데 그게 아니었네요. * C# 기본 자료형 예약어 구조체 형식 기본값 범위 크기 bool System..
C# Hashtable 클래스 (.net framework 3.5 기준 / MSDN) Hashtable 클래스 * 네임스페이스 : System.Collections [SerializableAttribute] [ComVisibleAttribute(true)] public class Hashtable : IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback, ICloneable * 설명 각 요소는 DictionaryEntry 개체에 저장된 키/값 쌍입니다. 키는 null일 수 없으나 값은 null일 수 있습니다 Hashtable에서 키로 사용하는 개체는 Object.GetHashCode 메서드(또는 IHashCodeProvider 인터페이스) 및 Object.Equals 메서드(또는 IComparer 인터..
C#, MySQL - MySql database 연결하기 * C#에 MySql을 연결하는 샘플입니다. * MySQL Connectore Net 을 설치했다는 전제하에 설명 (현재 내 PC에는 MySQL Workbench 5.2 CE를 설치하면서 6.5.4 버전이 설치되었음) - C#에서 MySQL관련 참조 호출 솔루션 탐색기 -> 해당 솔루션 프로젝트 -> 참조, 마우스 오른쪽 버튼 -> 참조추가 선택 - 참조추가에서 MySQL관련 컴포넌트 추가 실제적으로 모든 클래스들을 보진않았지만 MySql.Data , MySql.Web 이 기본적인 클래스 같음. - 참조완료 후, using 문으로 MySql관련 클래스 삽입 using MySql.Data.MySqlClient; using MySql.Web; - 연결 private MySqlConnection conn; p..
C# - MessgeBox , 디폴트박스외 OK, OKCANCEL 등 MessgeBox 예제.. 1) 심플 : Caption없이 Message만 보이기 MessageBox.Show("Simple"); 2) Caption 포함한 MessgeBox 보이기 MessageBox.Show("OK", "Sample") 3) 3번째 인자부터 MessageBox의 버튼속성과 관련있고 디폴트는 OK 같다. (MessageBoxButtons.OK) 여기선 "OK"버튼과 "CANCEL"버튼 2개를 쓰는 메세지 박스를 보임 MessageBox.Show("OK & Cancel", "Sample", MessageBoxButtons.OKCancel); 그 외 MessageBox의 인자에 따라 다양한 MessageBox 출력가능. (icon 등) 아래는 버튼과 관련있는 MessageBoxButtons..
C# - DataGridView 컨트롤에 데이터를 삽입하는 예제소스 [1] 폼에 DataGridView 컴포넌트 추가 - 여기서의 컴포넌트 이름은 "dataGridView1"으로 ... 이하 "dgv"로 지칭 [2] dgv에 초기 컬럼 설정 this.Controls.Add(dataGridView1); // DataGridView의 컬럼 갯수 dataGridView1.ColumnCount = 5; // DataGridView에 컬럼 추가 dataGridView1.Columns[0].Name = "Release Date"; dataGridView1.Columns[1].Name = "Track"; dataGridView1.Columns[2].Name = "Title"; dataGridView1.Columns[3].Name = "Artist"; dataGridView1.Colu..

반응형