Programming/C#(17)
-
[C#] StringBuilder Capacity
String 연산 시 StringBuilder의 사용이 더 효용적이라는 것은 개발자들 사이에선 이미 진리로 자리잡았다.그럼 StringBuilder는 어떻게 사용해야 되는 것일까?대부분 아래와 같이 StringBuilder 객체 생성 후 Append 하여 사용하는 경우가 많을 것이다.StringBuilder sb = new StringBuilder();for(int i = 0; i sb.Append(str[i]);}하지만 위와 같은 방식은 그리 좋지 못하다. 기본적으로 StringBuilder 객체 생성 시 내부적으로 16 bytes의 버퍼 크기를 가진다. 만약 Append 시 16 bytes 이상의 문자열이 입력으로 들어왔다면, StringBuilder 내부에서는 버퍼를 추가로 할당 받아야 하며, 이런..
2013.08.12 -
[C#] sqlite 특수문자 에러
sqlite를 쓰다 보니 입력 쿼리에 ' 예를 들면 I'm happy 이런 문장들??간단하게 ' -> '' 로 바꿔주면 된다.C# 코드query = query.Replace("'", "''");에러는 발생하지 않지만, 매 쿼리마다 다 저렇게 replace를 해주려니.... 먼가 찝찝..
2013.08.08 -
[C#] JSON 사용하기2
이전 포스팅에서 설명한 방법대로 C#에서 JSON을 사용해도 무방하지만해당 경우는 반드시 MemoryStream을 이용해야 하는 경우이다.String으로 받은 JSON 문자열을 일일이 parsing 해 주지 않고 객체로 변경할 수 없을까? 하는 고민에 빠져있던 중괜찮은 JSON Library 발견!!JSON for .NET사용 방법은 아래와 같다.
2013.02.20 -
[C#] JSON 사용하기
C#에서 JSON을 객체로 변경할 수 있는 많은 library가 있지만..일단 .NET Framework에서 제공하는 reference를 사용하기로 한다.JSON은 .NET Framework 3.5 이상부터 제공하는 기능으로 아래 두 개의 reference를 참조해야 한다.System.ServiceModel.WebSystem.Runtime.Serializations그 후 아래와 같은 sample code 작성!
2013.02.19 -
[C#] BadImageFormatException 발생
C++ dll을 C#에 import 시킨 후 ctrl + F5 시키니 처리되지 않은 예외: System.BadImageFormatException: 프로그램을 잘못된 형식으로 로드하려고 했습니다. (예외가 발생한 HRESULT: 0x8007000B)위와 같은 에러 메시지 발생!!아나 저건 모야...찾아보니 dll의 build 플랫폼과 C# 프로젝트의 플랫폼을 맞춰야 한단다...프로젝트 속성에서 플랫폼과 플랫폼 대상을 x64로 맞춰준 후 build 성공!!
2013.02.18 -
[C#] 디렉토리 내 폴더 삭제하기.
폴더 내에 디렉토리와 폴더가 섞여 있을 때 파일만 지울 경우가 있다. (왜???)마음 같아서는 아래와 같이 해서 폴더를 통째로 날려버리고 싶지만..DirectoryInfo dir = new DirectoryInfo(path);dir.Delete(true); // false로 할 경우 하위 폴더와 폴더 내의 파일들은 삭제가 안된다.폴더 내의 파일만 삭제해달란 요청이 있어서 아래와 같이 실행하였다.
2013.02.13