[c#] 양수일때 + 넣기 (using String.Format) String.Format 함수에 조건문 기능이 있다는거 알고 계셨나요? 이를 통해 입력 값이 양수일때는 + 를 붙히고, 음수일때는 - 를 붙히는 기능을 구현해 보도록 하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 string format ### 000 차이 1) 양수, 음수에 따른 formatting 입력 값으로 20, 양수가 들어오자 "양수" 가 출력이 됩니다. output: 다음으로 -20, 음수가 입력으로 들어오자 "음수" 가 출력이 됩니다. output: 내부적으로 어떻게 동작하는지 감이 오시나요? 입력으로 양수가 들어오면 첫번째 위치한 값이 출력되고, 음수가 들어오면 두번째 위치한 값이 출력이 되는 것입니다. 이러한 원리를 통해 formatting 기법을 적용해보겠습니다. 2) # format.. c# 2022. 7. 14. [c#] string format ### 000 차이 숫자 타입 값을 formatting 하는데 사용되는 #와 0의 차이에 대해 알아보도록 하겠습니다. 1) 정수 케이스 빨간 사각형부분에 위치한 0은 우리가 인풋으로 넣는 데이터를 의미하고, :(콜론) 다음에 위치한 값이 인풋으로 들어온 값을 어떤 format으로 만들어줄지를 적어주는 곳입니다. 이번 포스팅의 주제인 #, 0이 각각 위치해 있네요. output: output을 보니 #, 0 둘다 한개만 적어줬는데 모든 숫자를 반환합니다. 이번에는 #, 0을 두개씩 적어보겠습니다. output: 여전히 같은 값을 출력합니다. 이번에는 세개씩 적어보겠습니다. output: 여전히 같네요. 이번에는 입력 값의 자리수(4자리)보다 더 많은 5개를 넣어보겠습니다. output: 드디어 차이가 보이기 시작합니다. # .. c# 2022. 7. 13. [c#] EventHandler란? (해당 포스팅은 이벤트 포스팅과 이어지는 글입니다.) 이번 포스팅에서는 EventHandler에 대해 알아보도록 하겠습니다. 1) EventHandler 생김새 기존에는 이벤트를 사용하기 앞서 델리게이트를 선 정의 해줬는데요. 델리게이트 정의 없이 한번에 이벤트를 사용할 수 있게 도와주는 c# 내부 델리게이트가 EventHandler라고 보시면 됩니다. 내부에서 제공하는 만큼 사용 규칙이 존재하는데요. Invoke()부분에 빨간줄로 에러가 뜨는게 보이실거에요. 뭐가 잘못되었는지 EventHandler의 원코드로 들어가보겠습니다. EventHandler라는 델리게이트가 두개의 인자를 받도록 강제하고 있기 때문에 발생한 에러였습니다. 여기서 sender는 해당 이벤트를 실행시키는 객체, e는 이벤트를 발생시.. c# 2022. 7. 12. [c#] 이벤트란? | 델리게이트와 차이 이번 포스팅에서는 델리게이트와 같은듯 다른 이벤트에 대해 알아보도록 하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 델리게이트(delegate) 개념 델리게이트를 왜 쓸까? 1) 이벤트 정의 / 델리게이트와의 비교(1) 이벤트를 정의하는 방법은 간단합니다. 기존 델리게이트를 정의하는 방법에 event 키워드만 추가 해주면 됩니다. 여기서 조금 특이한 게 SomeEvent 이벤트를 발생시키는데, 굳이 doEvent()라는 함수 안에 감싼 형태로 작성을 하였다는 것인데요. 왜 그랬을까요? private필드에 접근하기 위해 public 프러퍼티를 이용하는것과 같은 결이라고 보시면 됩니다. 이벤트는 public으로 정의해도 외부에서 해당 이벤트로 접근이 불가하다는 특징이 있습니다. 그렇기 때문에 이벤트에 접근 .. c# 2022. 7. 11. [c#] 이메일 자동으로 보내기 (gmail smtp 이용) 최신 + 파이썬 이번 포스팅에서는 gmail smtp를 이용한 이메일을 보내는 법에 대해 알아보도록 하겠습니다. 1) 기본 뼈대 구성 (1) 필요한 네임스페이스를 추가합니다. (2) 이메일 전달 중에 발생할 수 있는 에러를 확인하기 위해 try , catch 문을 추가합니다. 2) 이메일 전달 코드 작성 (1) 전달 메일 관련 코드 MailMessage() 클래스 객체를 만듭니다 From 인자에는 보내는 사람의 메일 주소를 넣어줘야 하는데요, 이때 new MailAddress 클래스를 감싼 형태로 넣어 주어야 합니다. 다음으로 Subject에는 메일의 제목, Body에는 메일 내용을 작성 하면 됩니다. (2) 보낼 주소 추가 이어서 받는 사람의 메일 주소를 기입하는 부분입니다. MailMessage()의 객체(여기선 m.. c# 2022. 7. 8. [c# wpf] command(3) (with CanExecute 사용) (해당 포스팅은 command(2) 포스팅을 읽고 왔다는 전제로 작성되었습니다.) command(1) 포스팅에서, ICommand 인터페이스 구현 메소드 중 하나인 CanExecute는 boolean 값을 리턴하는데 true일때 버튼이 활성화되고 false일때 비활성화 된다라고만 설명하고 넘어갔었죠. 이번 포스팅에서는 CanExecute 함수를 통해 아래와 같은 기능을 구현해보겠습니다. 글자를 입력하기전에는 버튼이 비활성화 상태였다가 글자가 입력되면 활성화되는 로직입니다. //MainWindow.xaml UI단은 기존 코드랑 차이가 없습니다. //MesageViewModel.cs ViewModel 생성자에 정의한 Command 클래스의 인자를 받는 자리가 두개로 늘어났습니다. 새로 생긴 자리에는 AddM.. c#/wpf 2022. 7. 6. [c# wpf] command 개념/사용법(2) (이번 포스팅은 command(1)편을 읽고 왔다는 전제로 작성되었습니다.) 버튼을 클릭하면 text박스창에 입력된 글자가 메세지박스로 출력되는것을 구현해보겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c#] Action, Func, Predicate 개념/ 차이 [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c#] 박싱(boxing), 언박싱(unboxing) 개념과 사용 이유 //MainWindow.xaml TextBox태그와 태그를 가리키는 이름(messagebox)을 추가해주었습니다. 그리고 CommandParameter라는 친구가 새롭게 등장하는데요. 이 친구는 xaml에서 전달받은 값을 c# 코드로 넘겨주는 역할을 합니다. 예제코드에서는 바인딩을 통해 TextBox로부터 전달받은 값을 C.. c#/wpf 2022. 7. 5. [c# wpf] command 개념/사용법 이번 포스팅은 Command를 이용한 간단한 기능을 구현해 보겠습니다. 포스팅은 코드비하인드단에 이벤트를 구현하는 방법을 확인한 후 Command사용법에 대해 알아보는 순으로 진행하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c#] 인터페이스란? [c#] Action, Func, Predicate 개념/ 차이 [c#] 델리게이트를 왜 쓸까? 1. 코드비하인드와 xaml 이벤트를 활용한 방법 1) 기본 ui //MainWindow.xaml 버튼에 클릭 이벤트를 등록해줍니다. 2) 이벤트 함수 작성 //MainWindow.xaml.cs 클리할 경우 Message가 나오는 로직을 적어 줍니다. 2. Command를 활용한 방법 기존에 작성했던 부분.. c#/wpf 2022. 6. 30. [c#] sql 연결 오류(CS1069) 혹시 System.Data.SqlClient. 네임스페이스를 추가하였음에도 아래와 같은 에러가 발생하시나요? (CS1069 ~ 'SQlConnection'이 없습니다.) 해당 문제는 패키지가 없어서 발생하는 문제로 Nuget패키지 관리에 들어가 해당 패키지를 다운받아 주시면 됩니다. 1) NuGet 패키지 관리 들어가기 2) System.Data.SqlClient 다운로드 c# 2022. 6. 27. [c# wpf] DataTemplate 사용 방법 (해당 포스팅은 이전 포스팅과 이어지는 포스팅입니다.) 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] StaticResource란? (DynamicResource 비교) [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c#] 오버라이드 ToString은 뭐지? (커스텀) 1 . 기본 layout 작성 와 태그로 구성된 간단한 UI입니다. 잠깐❗️) 여기서 태그에 대해 설명하자면, , 우리가 잘아는 두 태그 모두 Content라는 속성이 있습니다. 이들이 Content 속성값을 사용할 수 있었던건 두 태그 모두 ContentControl을 상속 받고 있기 때문입니다. 즉 태그는 Content 속성값을 사용하는데 있어 가장 raw한 태그라고 보시면 됩니다. 이어서 x:Key명과 {StaticResou.. c#/wpf 2022. 6. 27. [c#] 델리게이트를 왜 쓸까? 아래 예시를 보시겠어요? AddFunc은 Add함수를 델리게이트에 담아 간접적으로 실행한것이고, 다른 하나는 Add함수를 다이렉트로 실행한것입니다. output: 결과는 당연히 같습니다. 그렇다면 델리게이트를 왜 써야 할까요? 이 글을 읽기 전 선수 지식 포스팅 [c#] 델리게이트(delegate) 개념 | += , -= 함수의 인자로 함수를 받기 위함입니다. 함수를 처음 정의할때 매개변수에 타입을 지정해줘야 합니다. 이때 인자로 함수를 받으려면 어떤 타입으로 지정해야할까요? 네, 델리게이트 밖에 답이없죠. 예시를 통해 확실히 이해 해보도록 합시다. 예시) 1) 기본 형태 두 함수가 있습니다. 이 함수들을 실행시키려면 아래와 같이 코드를 작성해야겠죠. 2) 콜백함수 형태 Calculator라는 함수를 정.. c#/wpf 2022. 6. 24. [c# wpf] DataContext 다양한 연결 방법(with binding) 이번 포스팅에서는 DataContext를 연결함에 있어 다양한 방법에 대해 알아보고자 합니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c# wpf] StaticResource란? (DynamicResource 비교) 1. 왜 굳이 다양한 방법으로 알아볼까요? 이는 제가 구글링하면서 느낀점이기도 한데요. 같은 내용의 코드인데도 불구하고 다른 방식으로 작성된 코드를 전혀 다른 기능으로 착각하는 경우가 왕왕 있기 때문입니다. 무엇보다 하나의 내용을 다양한 관점으로 이해하고 사용가능한것이 정확하게 아는거라 생각합니다. :) 2. 목표 Person 클래스의 프러퍼티로 설정된 값들을 Window 창에 아래와같이.. c#/wpf 2022. 6. 24. 이전 1 ··· 16 17 18 19 20 21 22 ··· 32 다음