일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Process
- windows10
- coding-test
- IValueConverter
- .net
- commit
- dotNET
- mysql
- logging
- chashtag
- programmers
- algorithm
- log
- csharp
- File
- C#
- Coding
- nullable
- Microsoft
- tls
- 코딩테스트
- convert
- string
- WPF
- Binding
- Github
- ListView
- git
- Visual Studio
- windows
- Today
- Total
목록csharp (78)
CHashtag
WPF 프로그래밍 중 바인딩될 값에 따라 다른 값을 지정해 주어야 할 때가 종종 있습니다. (예를 들면 입력받은 text가 10자 이상이면 background color가 변한다. 같은 느낌으로요.) (Binding StringFormat의 상위 호환이라고 생각하시면 편할 것 같습니다.) 이럴 때 사용할 수 있는 것이 바로 IValueConverter, IMultiValueConverter입니다. 이해를 돕기위해 예제 프로그램을 제작해 보도록 하겠습니다. Converter Binding이 기본적으로 2 way를 지원하듯, Converter도 2 way converting을 지원합니다. ViewModel -> View로 가는 Convert 함수와 View -> ViewModel로 가는 ConverterBa..
안녕하세요. 오늘은 "요청이 중단되었습니다. ssl/tls 보안 채널을 만들 수 없습니다" 라는 에러를 해결할 수 있는 방법에 대해 알아보도록 하겠습니다. web request를 보내기 전에 아래 코드를 추가하면 됩니다. if (requestMessage.RequestUri.Scheme == Uri.UriSchemeHttps) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; } 감사합니다.
안녕하세요. 오늘은 하나의 Property에 여러 값을 동시에 Binding 하는 MultiBinding에 대해 알아보도록 하겠습니다. (Converter에 대한 설명은 다른 게시글로 정리하겠습니다.) 코드에 대한 설명은 주석으로 달아놓았으니 참고 바랍니다. 감사합니다.
안녕하세요. 오늘은 개별 파일 크기를 구하는 방법에 대해 알아보도록 하겠습니다. 간단한 내용이니 별도의 내용 없이 코드로 보여드리겠습니다. 해당 크기는 디스크 할당 크기가 아닌 그냥 크기 임을 알려드리고 디스크 크기 구하는 방법은 다른 게시글로 정리하도록 하겠습니다. public long GetFileSize(string filePath) { long fileSize = 0; if(File.Exists(filePath)) { FileInfo info = new FileInfo(filePath); fileSize = info.Length; } return fileSize; } 감사합니다.
안녕하세요. 오늘은 MVVM패턴에서 CheckBox의 값을 ViewModel로 전달하고, 또 그 반대로 ViewModel에서 값을 CheckBox로 전달하는 방법에 대해 알아보도록 하겠습니다. // MainViewModel.cs using System.ComponentModel; using System.Runtime.CompilerServices; namespace WpfApp14 { public class MainViewModel : INotifyPropertyChanged { private bool _isChecked = false; public bool IsChecked { get => _isChecked; set { _isChecked = value; NotifyPropertyChanged(); ..
결론만 알려드리겠습니다. int defaultValue = 999; int? nullableInt = null; // int wrongResult = (int)nullableInt; // System.InvalidOperationException here int result = nullableInt.GetValueOrDefault(defaultValue); // 999 감사합니다.
결론부터 알려드리겠습니다. public string[] SelectMultiFiles(string defaultPath) { string[] selectPath = null; var openFileDialog = new OpenFileDialog(); openFileDialog.Multiselect = true; if (Directory.Exists(defaultPath)) { openFileDialog.InitialDirectory = defaultPath; } else { openFileDialog.InitialDirectory = @"C:\"; } bool? result = openFileDialog.ShowDialog(); if (result.HasValue && result.Value) { se..
결론부터 알려드리겠습니다. string str = "aBcDeFg"; string upperStr = str.ToUpper(); // output : ABCDEFG string lowerStr = str.ToLower(); // output : abcdefg ToUpper vs ToUpperInvariant Microsoft 문서에 의하면 다음과 같이 정리되어 있습니다. ToUpper 대문자로 변환된 문자열의 복사본을 반환합니다. ToUpperInvariant 문화권의 대소문자 규칙을 사용하여 대문자로 변환된 String 개체의 복사본을 반환합니다. 예를 들어 터키의 경우 i의 대문자가 I가 아닌 i를 사용한다고 합니다. 따라서 다양한 나라(문화)를 지원하는 프로그램일 경우에는 ToUpperInvaria..
안녕하세요. 오늘은 DateTime과 TimeStamp간의 변환 방법에 대해 알아보도록 하겠습니다. 간단하니 바로 코드로 보여드리도록 하겠습니다. public long GetCurrentTimeStamp() { DateTime dt = DateTime.Now; return ((DateTimeOffset)dt).ToUnixTimeSeconds(); } public long DateTimeToTimeStamp(DateTime value) { return ((DateTimeOffset)value).ToUnixTimeSeconds(); } public DateTime TimeStampToDateTime(long value) { DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0,..
.net framework는 사용자에게 여러 기능을 제공합니다. 예를 들자면 Int32, String, System 등과 같은 것들을요. 개발을 하다보면 .net framework에서 제공하는 함수나 속성의 정의 부분으로 가면 전체 코드가 아닌 Summary만 보이는 것을 확인하실 수 있습니다. 이는 컴파일된 dll를 참조하는 것이기 때문에 전체 코드를 볼 수 없고 해당 함수나 속성의 정의와 설명 정도만 보이는 것입니다. 그런데 .net framework에서 제공하는 기능은 실제로 어떻게 구현되어 있는지 안다면 더 효율적으로 개발할 수 있을 것입니다. 그래서 오늘은 .net framework 내부 코드 보는 법에 대해 알아보도록 하겠습니다. .net framwork 코드 보는 법 제가 오늘 추천해드릴 사..