닷넷/C#
-
Tizen C# load local image, res 폴더에 있는 이미지 읽기 (ImageSource.FromFile)닷넷/C# 2019. 1. 3. 11:41
타이젠 앱을 다 만들고 삼성 갤럭시 앱스에 판매등록 했었는데 인증심사에서 떨어졌다. 왜 그런고 하니 이미지 파일을 읽을 수가 없어 앱이 제대로 실행되지 않았다. 디버깅할 때야 파일 경로로 이미지를 선택할 수 있는데 실제 갤럭시 워치에서 앱이 실행되려면 이미지 앱 자체에서 불러올 수 있게 해야 했다. 타이젠에 추가된 언어는 c#보다는 자마린에 가까워서 내가 알던 방식으로는 리소스폴더에 접근할 수 없었고,구글링을 하며 이것 저것 해보아도 도저히 도저히 되지 않다가 한 달이 지나 잊고 있었다. 오늘에서야 그 방법을 찾을 수 있었다. https://stackoverflow.com/questions/44609222/image-in-tizen-mobile-is-not-visible 이미지 파일을 res 폴더에 넣고..
-
C# foreach DataRow in DataSet닷넷/C# 2018. 12. 11. 17:21
private void Example(){ SqlConnection sqlConnection = new SqlConnection("server=localhost;database=MyDatabase;User ID=uid;Password=pwd;"); SqlDataAdapter sqlAdapter = new SqlDataAdapter("SELECT ID, Name, Mobile FROM Users", sqlConnection); DataSet ds = new DataSet(); sqlAdapter.Fill(ds, "Users"); foreach (DataRow dr in ds.Tables["Users"].Rows) { Console.WriteLine(dr["ID"] + "\t" + dr["Name"]+ "\..
-
C# 웹통신 요청 및 응답 (WebRequest POST, WebResponse) (ContentType: application/x-www-form-urlencoded)닷넷/C# 2018. 11. 15. 10:08
private void HTTPPost(){ string sParam = "sParam1=value1&sParam2=value2"; string sUrl = "http://abc/web"; // 서버 접속 WebRequest webRequest = WebRequest.Create(sUrl); webRequest.Method = "POST"; // 데이터 전송 byte[] bytearry = Encoding.UTF8.GetBytes(sParam); webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = bytearry.Length; Stream stream = webRequest.GetRequestStr..
-
C# 우선순위 큐, Priority queue닷넷/C# 2018. 11. 7. 18:30
큐랑 스택을 섞어 쓸 방법이 어디 없을까 구글링해보다가 우선순위 큐라는 걸 알게 되었다. 학창시절, 자료구조 과목에선 안 배웠던 것 같은데.. 우선순위 큐란, 위키백과에 따르면 각 원소들이 우선순위를 가지며 높은 우선 순위를 가진 원소가 낮은 우선순위를 가진 원소보다 먼저 처리되고, 만약 두 원소가 같은 우선순위를 가진다면 큐에 의해서(저장된 순서대로) 처리 되는 자료구조를 말한다. 개념을 알았으면 구현을 할 차례! 큐나 스택은 Queue와 Stack이라는 (이름 그대로 알 수 있는) 클래스가 있어서 쉽게 구현할 수 있었으나 우선순위 큐는 그런 클래스가 존재하지 않았다. C#에서는 우선순위 큐를 어떻게 구현할 수 있을까? 힌트는 위키백과에서 찾을 수 있었다. 그렇게 스스로 구현하기 위해 코드를 작성하다가..
-
C# JSON POST and GET (정보 전달 및 확인)닷넷/C# 2018. 11. 2. 10:04
/* url = http://10.0.0.1 웹서버 주소 lblUrl.Text = { "key1":"value1", "key2":"value2", "key3":"value3" } JSON 문자열*/// JSON POST (정보 전달)private void JPOST(){ try { // JSON 데이터 전송 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = "application/json"; request.Method = "POST"; using (StreamWriter stream = new StreamWriter(request.GetRequestStream())) { stream.Write(lbl..
-
C# JSON 파싱하기닷넷/C# 2018. 10. 31. 12:11
2023.04.04 - [C#] - C# JSON 파일 읽기/쓰기 (Deserialize/Serialize) 비주얼스튜디오에 Newtonsoft.Json을 설치했다는 가정하에 c#에서 Json 파싱하는 법을 작성하도록 하겠습니다. 아직 설치 하지 못한 분은 아래 글에서 설치하기를 따라하시면 됩니다. 2018/10/26 - [프로그래밍/C#] - C# Json 파싱하기 전, 비주얼스튜디오 프로젝트에 Newtonsoft.Json 설치하기 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 using Newtonsoft.Json.Linq; private void JsonParse() { using (WebClient wc = n..
-
C# Json 파싱하기 전, 비주얼스튜디오 프로젝트에 Newtonsoft.Json 설치하기닷넷/C# 2018. 10. 26. 16:31
짤막 상식JSON이란? JSON (JavaScript Object Notation)은 사람이 읽을 수 있는 데이터로 교환하기 위한 표준 디자인입니다. JSON은 트리 구조로 작동하며 비교하자면 XML처럼 보이는데 XML보다 더 짧고 사용하기가 쉽습니다. JSON과 XML 구조 비교 JSON XML { "companys":{ "company1":"company name", "company2":[ { "name":"comany2 name" }, { "address":"seoul" }, { "tel":"012-3456"} ] } } company name comany2 name seoul 012-3456 Newtonsoft.Json 설치하기 1. 도구에 NuGet 패키지 관리자 > 솔루션용 NuGet 패키지 ..
-
C# (Windows 작업스케줄러를 사용하지 않기 위한...) 특정시간마다 이벤트를 실행시키는 방법닷넷/C# 2018. 10. 19. 11:49
Windows 작업 스케줄러를 이용하지 않고 특정 시간에만 이벤트 또는 메소드를 실행하게 할 수 있는 방법이 없을까 검색해보다가 특정 시간을 계산해서 그 시간에만 이벤트를 실행하는 방법을 찾았다. 예제 코드는 매일 새벽 3시에 이벤트를 실행시키는 타이머이다. 2022-04-22 16:45 현재 시간으로 부터 runAt까지의 남은 시간을 구해서 그 뒤에 타이머가 실행되게 하고 그 다음에는 매 24시간마다 한 번씩 실행 되게 하는 코드이다. 이때, "시"만을 기준으로 하다 보니 딱 3시 마다를 원하면 프로그램도 정각에 실행시켜야 하는 단점이 있어서 시 뿐만 아니라 분, 초 또한 현재시간에서 runAt까지 남은 분, 초도 같이 계산 될 수 있게 예제 코드를 수정 한다. using System.Timers; p..
-
C# [펌] Parallel.For 병렬 For문닷넷/C# 2018. 9. 27. 18:28
Paralle.For 사용방법병렬 포문 사용법 https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/how-to-write-a-simple-parallel-for-loopHow to: Write a Simple Parallel.For LoopHow to: Write a Simple Parallel.For Loop 9 minutes to read Contributors all This topic contains two examples that illustrate the ...docs.microsoft.com
-
C# [펌] TCP/IP환경에서 메시지 교환 원리닷넷/C# 2018. 8. 30. 18:22
TCP/IP환경에서 메시지 교환 원리2016.04.28 06:03 from 프로그래밍 일반/개발 도구 사용법 http://foranie0.tistory.com/199TCP/IP환경에서 메시지 교환 원리1. 서두 질문글 답변글 서버 플머가 아니라서 이런 것까지 정리할 생각은 없었는데 어제 술 마시다가 조상현 교수님이 만든 엔진에는 프로토콜 넘...foranie0.tistory.com1. 서두질문글답변글서버 플머가 아니라서 이런 것까지 정리할 생각은 없었는데 어제 술 마시다가 조상현 교수님이 만든 엔진에는 프로토콜 넘버를 기준으로 일일이 switch case 해주는 부분 없이 상속으로 처리 했다는 이야기를 듣고 소스를 까보는 김에 이것까지 작성 하게 되었다. (와중에 내 코드 일부가 틀린 것이 생각 나기도 ..
-
C# [펌] Thread 파라미터 전달닷넷/C# 2018. 8. 24. 16:52
이미 파라미터가 있는 메소드일 때 C#에서 Thread에 파라미터를 전달하는 방법에 대해,내가 정리해서 작성한 것보다 잘 쓰여진 글이 있어서 그대로 복사해왔다. C# Thread 클래스 파라미터 전달 http://www.csharpstudy.com/Threads/thread2.aspxThread 클래스(2) - C# 프로그래밍 배우기 (Learn C# Programming)C# Thread 클래스 파라미터 전달 Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 Parameter...www.csharpstudy.com Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 ParameterizedThr..
-
C# 숫자 세자리마다 콤마(쉼표)찍기닷넷/C# 2018. 8. 2. 16:51
C#에서 숫자 세자리마다 콤마(쉼표)찍는 방법 다음은 C#에서 숫자를 문자열로 바꾸고, 세자리 마다 콤마(쉼표)가 입력되게 하는 방법이다. int i = 100000000; string number = string.Format("{0:#,###}", i); 결과: 100,000,000 그런데 여기서 만약 i가 0 또는 null이라면 값이 공백으로 나온다. int i = 0; string number = string.Format("{0:#,###}", i); 결과: 공백이 아닌 0으로 나오게 하려면 다음과 같이 하면 된다. int i = 0; string number = string.Format("{0:#,##0}", i); 결과: 0
-
C# 폼 캡처, 자식 폼 캡처닷넷/C# 2018. 7. 18. 09:53
아래 ScreenCaptureForm 메소드를 사용하면 쉽게 폼을 캡처 할 수 있다.아래 메소드를 사용할 때 폼의 시작위치와 폼 사이즈만 넘겨주면 되는 것이다.private void ScreenCaptureForm(Point _point, Size _size){ Rectangle rectangle = new Rectangle(_point, _size); Bitmap bitmap = new Bitmap(rectangle.Width, rectangle.Height); Graphics g = Graphics.FromImage(bitmap); g.CopyFromScreen(rectangle.Left, rectangle.Top, 0, 0, rectangle.Size); bitmap.Save(@"C:\test.pn..