c#/기타 22

[c#] ref , 다른 함수에서 변수값 변경

만약에 !a = "A랍니다" 라는 변수가 있었는데 test() 함수에서 !a를 받아서 !a = "B랍니다" 라고 하면 !a의 값이 바뀌고 싶을 때 사용한다. label1 에는 정의를 label2에는 일반적인 함수를 다녀왔을 때 값을 label3은 ref 를 받는 함수를 다녀왔을 때 값을 표현해본다. private void Form1_Load(object sender, EventArgs e) { string s = "A랍니다."; label1.Text = s; test(s); label2.Text = s; test(ref s); label3.Text = s; } public void test(string s) { s = "B입니다."; } public void test(ref string s) { s = ..

c#/기타 2021.12.24

[c#] Regex 숫자만 추출 , 문자만 추출 , ismatch

특정 문자열에서 숫자만 있는지, 문자만 있는지 체크할 때 Regex라는 정규식을 이용한다. 텍스트박스에 텍스트를 입력하면 해당 텍스트가 regex를 만족하는지 label로 보여주는 식으로 테스트를 진행해보겠다. 준비과정) - winform에 textbox 생성 및 label 생성 - textbox에 TextChanged 이벤트 함수를 걸어준다. 속성 창에서 번개모양 선택 후 TextChanged를 더블 클릭하면 자동으로 생성된다. ^ : 처음 $ : 끝 1. 숫자만 입력됐는지 확인 Regex regex = new Regex("^[0-9]*$"); 텍스트 박스에 숫자만 입력됐으면 label1이 True로 , 숫자 외의 값이 입력되면 False로 바뀐다. private void textBox1_TextCha..

c#/기타 2021.12.24

[c#] DateTime 현재날짜, 현재시간

현재 날짜와 시간을 다양한 형태로 표현해보자 private void button1_Click(object sender, EventArgs e) { DateTime dt = new DateTime(); //2021년 12월 16일 목요일 string dt1 = DateTime.Now.ToLongDateString(); //2121-12-16 string dt2 = DateTime.Now.ToShortDateString(); //오후 3:44:04 string dt3 = DateTime.Now.ToLongTimeString(); //오후 3:44 string dt4 = DateTime.Now.ToShortTimeString(); //2021-12-16 오후 3:44:04 string dt5 = DateTim..

c#/기타 2021.12.16

[c#] directoryinfo 경로, 폴더, 파일

1. directoryinfo 정의 string path = @"C:\Temp"; System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path); DirectoryInfo 를 선택하고 F12을 누르면 다음과 같이 사용할 수 있는 목록을 볼 수 있다. 1. 존재하는지 체크 private void button1_Click(object sender, EventArgs e) { string path = @"C:\Temp\test"; System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path); bool existdr = di.Exists; richTextBox1.AppendText(existdr.ToString..

c#/기타 2021.12.16

[c#] 숫자를 엑셀 열 알파벳으로 변환

excel을 읽어올 때 _worksheet.get_Range("A" + i).Value2 이런식으로 읽어오다 보니, for( int i =0; i 0) { remindNum = (iDivideNum - 1) % 26; strCol = Convert.ToChar('A' + remindNum) + strCol; iDivideNum = (int)((iDivideNum - remindNum) / 26); } return strCol; } private void button1_Click(object sender, EventArgs e) { for(int i = 0; i 0) { remindNum = (iDivideNum - 1) % 26; strCol = Convert.ToChar('A' + remindNum) ..

c#/기타 2021.12.16

[c#] Excel 읽기, 쓰기

EXCEL FILE을 읽고 쓰는 방법 1. Microsoft.Office.Interop.Excel 참조 솔루션 탐색기에서 참조를 선택 후 마우스 오른쪽 버튼 클릭 어셈블리 > 검색에 Microsoft.Office.Interop.Excel 검색 > 결과 뜨면 체크 > 확인 2. using 입력 3. TEST 환경 구축 - winform에 textbox를 추가해 Excel 경로를 입력하게 하고 - 버튼을 누르면 - richtextbox에 내용을 담거나, 읽어서 엑셀에 쓰도록 하려고 한다. 4. 버튼 클릭 이벤트 생성 버튼 선택 후 속성창에서 번개모양 선택 후 Click을 찾아 더블클릭하면 자동으로 생성된다 버튼을 클릭하면 textbox안에 있는 경로의 excel file을 읽어서 첫번째 sheet를 사용하고..

c#/기타 2021.12.16

[c#] file 경로를 경로, 파일이름, 파일 형식으로 분리

1. USING 작성 using System.IO; 2. 소스 작성 private void button1_Click(object sender, EventArgs e) { //File 경로 string fullpath = textBox1.Text; string filepath = Path.GetDirectoryName(fullpath).ToLower(); string filename = Path.GetFileNameWithoutExtension(fullpath); string fileextension = Path.GetExtension(fullpath); richTextBox1.AppendText("경로+파일 : "+ fullpath + "\n"); richTextBox1.AppendText("경로 : "..

c#/기타 2021.12.16

[C#] enum

열거형은 서로 관련 있는 상수들의 집합을 정의한 것 숫자에 특정한 명칭을 붙여주어 의미를 쉽게 이해할 수 있는 용도로 사용됨. enum day {sat=1, sun,mon,tue,wed,thr,fri=10} enum Info { 커피 = 3000, 아이스크림 = 2000, 솜사탕 = 1500 }; private void Form1_Load(object sender, EventArgs e) { foreach (var info in Enum.GetValues(typeof(Info))) { string type = info.ToString(); int price = Convert.ToInt32(info); richTextBox1.AppendText(type); richTextBox1.AppendText(pri..

c#/기타 2021.12.06

[C#] String vs StringBuilder

반복문을 이용해 1~3까지 string을 더해 "123" 이라는 글자를 만들어보자. string str = ""; for (int i = 1; i < 4; i++) { str += i.ToString(); } richTextBox1.AppendText(str); 첫 번째는 String class를 사용할 수 있다. 하지만 String 객체의 값은 한 번 만들면 변경할 수 없고 , 객체가 변경될 때마다 새로운 String을 만들어서 변수명에 할당해 주는 것이라고 한다. 따라서 String의 값이 빈번하게 변경되는 경우 실행 속도와 메모리 사용이 많아진다고 한다. 다음은 StringBuilder이다 String과 비슷한 StringBuilder 클래스는, 문자열이 변경되면 자동으로 필요한 메모리를 동적으로 ..

c#/기타 2021.12.06

[C#] String CONCAT, JOINT

String.Concat은 문자열을 그냥 연결하고 String.Joint를 사용하면 구분 기호를 추가하여 문자열을 연결할 수 있다. string[] a = { "동","해","물","과"}; 다음과 같이 string[]를 Concat을 사용하여 "동해물과"로 , Join을 사용하여 "동,해,물,과"로 문자열을 합칠 수 있다. private void Form1_Load(object sender, EventArgs e) { string concatstr = "", joinstr = ""; string[] a = { "동","해","물","과"}; concatstr = string.Concat(a); joinstr = string.Join(",", a); richTextBox1.AppendText("CONCA..

c#/기타 2021.12.06
반응형