본문 바로가기
C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object) C# Json 파싱 예제 - List에 클래스 객체 저장 (json to list object) 기본적으로 C# Json 파싱은 단일 자료형 기반으로 운용하는 경우가 많습니다. 그래도 사용하다 보면 클래스 객체를 기준으로 Json에 데이터를 써야 할 경우도 생기죠. 이럴 때 매번 클래스 객체를 생성하여 반복문 등으로 삽입하기엔 귀찮은 점이 많습니다. 그래서 아래와 같이 클래스 객체를 List에 담아 한 번에 Json으로 생성하는 것이 조금 더 수월합니다. 우선, Json에 추가할 public class를 하나 선언합니다. 123456public class data{ public int Id { get; set; } public int SSN { get; set; } public string Message.. 2019. 2. 5.
C# MySql 설치 사용법, connector 참조 추가와 데이터 읽기 예제 C# MySql 설치, 사용법 (참조 추가) 간단한 예제 C# 프로젝트에서 직접 MySql을 이용하는 방법입니다. 다른 언어들처럼 뭔가를 설치하면 가능한데, 이것을 도와주는 것이 바로 MySql 커넥터입니다. C# MySql 커넥터 connector를 참조 추가하면, 마치 닷넷 프레임워크에 미리 포함된 것처럼, 자유자재로 응용할 수 있습니다. 공식적으로 지원하는 언어는 꽤 많은데, C# 이외의 언어도 함께 다루는 분들은 미리 알아두시는 게 좋습니다. C/C++C#/F#볼랜드 델파이 (dbExpress를 통한)자바 (네이티브 자바 드라이버를 통한)파이썬루비REALbasic (매킨토시 계열)프리베이직스몰토크기타 등등 꽤 많네요. 요즘 뜨고 있는 파이썬도 connector 지원됩니다. 이젠 C# MySql 설.. 2018. 10. 12.
C# Dictionary ContainsValue, 인덱서, Clear 예제 3개 C# Dictionary, ContainsValue, 인덱서, Clear 예제 3개 ContainsValue. 이 함수는 ContainsKey 보다 아주 느립니다. 전체를 순회하는 복잡한 선형 구조입니다. 모든 요소를 탐색하며 일치하는 항목을 찾거나, 순회가 끝나면 종료합니다. 123456789101112131415161718using System;using System.Collections.Generic; class Program{ static void Main() { Dictionary d = new Dictionary(); d.Add("cat", 1); d.Add("dog", 2); if (d.ContainsValue(1)) { Console.WriteLine(true); // True. } }} .. 2018. 10. 8.
컴파일테크놀로지 디지털 IO 보드 프로그램 (C#프로그래밍) 컴파일테크놀로지 디지털 IO 보드 프로그램 (C#프로그래밍) 프로그램 다운로드 - CWDIO32.zip [링크]제품 소개 페이지 - CW-DIO32 (필드 I/O, 리모트 I/O, DAQ, MODBUS) [링크] 제가 직접 컴파일테크놀로지에서 판매하는 디지털 IO 보드(CWDIO32) 프로그램을 만들었습니다. 아쉽게도 디지털 IO 보드는 판매하면서 디지털 IO 보드 프로그램은 제공하질 않네요. 이런 건 원래 컴파일테크놀로지에서 제공해야 하지 않나요? 아무튼, 이하 주요 소스입니다. Program.cs 파일을 보시면 아래처럼 중복 실행 방지 코드가 삽입되어 있습니다. 이 프로그램은 백그라운드에서 구동되기에 중복으로 실행되면 안됩니다. DIO는 하나인데 두 곳에서 접근하면 예상치 못한 상황은 당연히 발생하겠.. 2018. 7. 28.
C# int 자료형 변환 (TryParse, Convert.ToInt, string 등) C# int로 자료형 변환 방법 (TryParse, Convert.ToInt, string 등) 1. TryParse가장 보편적인 방법은 INT32 형식에 맞춰 TryParse를 하는 것입니다. 12345678910string intString = "234"; int i = 0; if (!Int32.TryParse(intString, out i)){ i = -1;} return i;cs 2. Nullable 정수와 TryParse바로 위의 예제에선 형 변환이 정상적으로 이루어지지 않으면 -1을 반환합니다.그렇지만, -1 자체에 정량적인 의미가 담겨있을 경우 위와 같은 형식은 이용하지 못합니다. 그래서 String을 분석하고 NULL인지 아닌지를 구분하는 형태도 필요합니다. 123456private int.. 2018. 4. 22.
NI DAQ 프로그램 (C# 프로그래밍, NI USB-6008 DAQ) NI DAQ 프로그램 (C# 프로그래밍, NI USB-6008 DAQ) 예제 발췌 - Data Acquisition in CSharp.pdf [링크] 이 글은 NI에서 공식 발행한 C# 메뉴얼에서 발췌한 내용입니다. 전체 내용은 링크된 pdf 파일에서 확인하세요. 3. My First DAQ AppWe will create a simple application in Visual Studio that uses a NI USB-6008 DAQ device. 3.1 IntroductionThis application uses the C# API included in the NI DAQmx driver, so make sure that you have installed the NI DAQmx driver in .. 2018. 1. 26.
C# ArcGIS 오류 : 프로그램을 잘못된 형식으로 로드하려고 했습니다. C# ArcGIS 오류 : 프로그램을 잘못된 형식으로 로드하려고 했습니다. ArcGIS 에러 메시지 "(ArcGIS)..... 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드 할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다." 위 에러는 ArcGIS를 32비트에서 만든 뒤, 64비트에서 실행할 때 발생하는 ArcGIS 에러입니다. 기본적으로 ArcGIS는 윈도우XP에서 동작하는 프로젝트가 윈도우7에서도 구동되도록 서비스팩을 제공하지만, 완벽하게 호환되진 않습니다. 그래서 ArcGIS에 별도의 사용자 작업이 필요합니다. 솔루션은 아래 링크를 따라가면 되고, ESRI에서 제공하고 있습니다. 참조 - Error: ArcGIS Engine Controls fail to build u.. 2017. 12. 25.
C# 클래스 간 변수 공유 사용, 3가지 방법 (데이터 값 전달 예제 소스) C# 클래스 간 변수 공유 사용, 3가지 방법 (데이터 값 전달 예제 소스) C# 클래스 간 변수 공유가 필요한 상황이 있습니다. C#에선 Form에서 Form으로 전달하는 게 결국 클래스 간 변수 공유나 다름없기도 하죠. 인터넷엔 C# 클래스 간 변수 공유 사용 예제가 많이 올라와 있는데, 크게 두 가지로 보입니다. 1. C# Form 요소를 public으로 변경해 다른 Form에서 바로 접근 2. C# namespace 영역에 모든 클래스와 Form을 선언함. 하나의 C# namespace로 묶음. 그러나, 안 좋은 방법. C#이란 객체지향 언어의 캡슐화를 무참히 깨버리는 행위라 특별한 경우가 아니고서야 이렇게 쓸 이유가 없습니다. 그래서, C#의 특성인 객체지향의 원리를 살리면서 합리적인 클래스 간.. 2017. 12. 24.
C# 그래프 라이브러리 C2DPushGraph (그래프 컨트롤) C# 그래프 라이브러리 C2DPushGraph (그래프 컨트롤) C#에서 다룰 수 있는 그래프 라이브러리인 C2DPushGraph입니다. MSChart란 강력한 도구가 있지만 컴팩트한 프로그램을 제작할 땐 C# 그래프 라이브러리인 C2DPushGraph를 고려해 보는 것도 좋습니다. 사용 방법은 매우 간단하니 사이트 들어가 C# 그래프 라이브러리로서 얼마나 매력적인지 먼저 확인해 보세요. 그러고 나서 여기 올라온 데모와 전체 소스 참조하세요. 참조 사이트 사이트 - C2DPushGraph: A Push Graph Control [링크]데모 파일 - C2DPushGraph_demo.zip [링크]전체 소스 - C2DPushGraph_src.zip [링크] 구동 방법 1. Download the contro.. 2017. 12. 18.
[C#] 동적메모리 할당 해제 소스 코드 예제 (malloc) [C#] 동적메모리 할당 해제 소스 코드 예제 (malloc) 동적메모리 사용을 위한 예제가 MSDN에 있어서 퍼왔습니다. C#에서는 stackalloc 연산자라는 메모리 관리 구문이 있습니다. 그리고 가비지 컬렉터도 동적메모리 할당, 해제 구문을 갖고 있습니다. 일반적으로 이러한 서비스(동적메모리 할당 해제)는 해당 클래스 라이브러리에서 제공하거나 운영체제에 구현되어 있습니다. 아래 예제는 동적메모리 할당을 위해 운영체제의 힙 함수를 엑세스합니다. 출처 : MSDN - A.8 동적메모리 할당 [링크]파일 : Memory.cs [링크] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152.. 2017. 11. 6.
C# string 예제 Compare, Contains, Substring, Join 4가지 C# string 예제 Compare, Contains, Substring Join 4가지 C# String 키워드는 System.String 클래스에서 존재합니다. string을 사용하는 예제 하나 살펴보겠습니다. 1234567891011121314151617181920212223242526272829303132using System;namespace StringApplication{ class Program { static void Main(string[] args) { // string literal string fname, lname; fname = "Rowan"; lname = "Atkinson"; string fullname = fname + lname; Console.WriteLine("Fu.. 2017. 8. 25.
[C# JSON] JSON 생성 및 사용, 예제 소스 [C# JSON] JSON 생성 및 사용, 예제 소스 C# JSON 생성 123456789101112JArray array = new JArray();JValue text = new JValue("Manual text");JValue date = new JValue(new DateTime(2000, 5, 23)); array.Add(text);array.Add(date); string json = array.ToString();// [// "Manual text",// "2000-05-23T00:00:00"// ]Colored by Color Scriptercs C# LINQ, JSON 생성 123456789101112131415161718192021222324252627282930313233343536.. 2017. 8. 23.