C#
-
[C#] Split 활용하기!C# 2023. 11. 29. 09:00
안녕하세요. 항상 오랜만이라고 글을 시작하는거 같지만 오늘도 그렇습니다. 오랜만에 다시 글을 쓰네요~ 요즘은 C#관련 책을 업무시작전에 읽고 있습니다. 너무 완성!이라는 목적보다는 조금은 유지보수, 사용성, 아름다운 코드를 추구해 보고자 노력하고 있습니다. 그렇기에 오늘은 간단하지만 꿀팁(?)이라고 할 수 있는 string의 Split 메서드를 활용해 보겠습니다. 목표 이번 글의 목표는 특정 문장에 대해서 단어만 추출! 하기입니다. 이렇게 써놓으면 뭔가 대단한 로직이 있을거같지만 제목을 보듯 그저 Split을 활용하는 내용입니다. 테스트 문장은 "Hello my name is wookku. I like Coding." 문장을 사용하도록 하겠습니다. STEP1 : Split으로 단어 분리하기 첫 번째 단계..
-
[C#] System.InvalidCastException: 'Unable to cast COM object of type 'System.__ComObject' .. 관련 에러C# 2023. 5. 25. 17:50
안녕하세요. 오늘은 간단하지만 헤매서 반나절을 날렸기에 잊어버리지 않고자 글을 남깁니다. 시작하기에 앞서 해당 에러는 Interop.Microsoft.Office.Interop.Excel 에 대한 저의 개인적인 해결법으로 모든 문제에 대한 답이 될 수는 없습니다 🤷♂️🤷♂️ 환경 OS: Windows 10 환경 : C#, .Net6.0, WPF 문제 발생 dll : Interop.Microsoft.Office.Interop.Excel 상황 - 컴퓨터의 블루스크린으로 인해 포맷을 진행했고, 그에 따라 Excel을 새로 설치했습니다. 그 이후로 회사내 매니저 프로그램에서 Excel을 만들어주는 기능을 개선하기위해 실행시켰는데 오류가 발생하며 기능자체가 실행되지 않았습니다. System.InvalidCas..
-
[C#] Process실행시 Unhandled exception. System.ComponentModel.Win32Exception 관련 오류C# 2023. 1. 5. 12:57
안녕하세요~ 요즘 참 정신이 없네요. 사실 요즘은 스프링 배우는 재미가 붙어서 다른건 잘 신경안쓰게 됩니다.ㅠㅠ 그래도 다른부분들도 신경써야될텐데 말이죠~ 이번에 기존의 프로그램을 새롭게 .NET6로 올리면서 발생한 오류에 대해 알아보고자합니다. 제가 따로 작성한 간단한 코드를 통해 발생한 오류와 해결 방법에 대해 기록해 보겠습니다. 문제발생 배경 문제가 발생한 배경은 기존버전(.NET4.0)에서는 작동했던 Process관련 코드가 .NET6환경에서는 에러가 발생한 부분입니다. 그럼 간단한게 알아보겠습니다. 먼저 chrome process를 실행하는 코드입니다. 환경은 .NET Framework4와 .NET6환경에서 비교하며 테스트했습니다. 내용 Process process = new Process();..
-
[C#] Obslete란?C# 2022. 9. 20. 23:27
안녕하세요. 오늘은 C#언어의 Obslete에 대해 간단하게 알아보고자 합니다. 먼저 Obsolete란 단어의 뜻은 : '더 이상 쓸모가 없는, 한물간, 구식의 라는 뜻'의 형용사입니다. 출처 https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=oboslete oboslete : 네이버 통합검색 'oboslete'의 네이버 통합검색 결과입니다. search.naver.com 그렇다면 C#에서는 어떤 용도로 사용될까요? 공식문서 정의에는 이렇게 나와 있습니다. 더 이상 사용하지 않는 프로그램 요소를 표시합니다. 라고 말이죠. https://learn.microsoft.com/ko-kr/dotnet/api/sy..
-
[C#] System.Text.Json을 이용한 Json 데이터 탐색C# 2022. 8. 26. 17:28
안녕하세요. 오늘은 .Net5에서부터 나온건지는 확실하지 않지만 기존의 JParser가 아닌 System.Text.Json을 이용해 Json데이터를 파싱해 보고자 합니다. 내장돼 있는 Json파싱이라는거에 의미가 있는듯 합니다. 간단하게 Json데이터와 Array로 구성된 Json파일에 대해 알아보겠습니다. 먼저 using을 통해 System.Text.Json을 선언 후 간단한 데이터를 Json화 시켜보겠습니다. 탐색에 대해서만 알아볼 예정이니 참고 부탁드립니다. 1. String to Json 아마 웹으로 통신하면 대부분 데이터를 Json형식으로 받으실듯합니다. 그럼 string 형식으로 올때가 있습니다. 이럴때 string형식을 Json형태로 변환해 사용하기 쉽게 해보겠습니다. 먼저 데이터를 간단한게..
-
[C#] string.Format사용시 입력 문자열의 형식이 잘못되었습니다. 관련 오류C# 2022. 8. 11. 17:09
안녕하세요. 오늘은 C#에서 string.Format을 사용하다가 발생했던 오류에대해 기록해 보고자합니다. 저같은 경우에는 고정된 형식에 다른 데이터를 담은 post시 string.Format을 이용하고있습니다. 실제 데이터를 사용할 수는 없어 간단한 예제로 알아보고자 합니다. 코드입니다. string data1 = "data1"; string data2 = "data2"; string a = string.Format("{data1:{0}, data2:{1}}", data1, data2); 예상으로는 a의 값에 {data1:data1, data2:data2}가 담여가 할것 같지만 실제로는 System.FormatException: 'Input string was not in a correct format..
-
[C#] double형 시간변환 관련C# 2022. 6. 22. 08:59
안녕하세요. 요즘 이래저래 사정으로 글쓰는게 늦어졌네요. 꾸준히 작성하며 제 C#실력을 키우고자 시작했는데 자꾸 헤이해지는거 같습니다. ㅠㅠ 간혹 스크래핑 중 날짜 컬럼 스크래핑을 하면 이상한~ 데이터가 나올때가 있습니다. 분명 화면상으로는 정상적으로 년,월,일 이런순을 표시가 되지만 실제 데이터는 다를때가 있습니다. 이럴때는 DateTime에서 제공해주는 FromOADate라는 메소드를 통해 년월일로 변환시킬 수 있습니다. 먼저 예시데이터 입니다. double date = 44541.6027; 기본적으로 double형의 변수 date를 선언해 날짜라고하지만 날짜같지 않은 데이터를 선언해주겠습니다. DateTime result = DateTime.FromOADate(date); Console.WriteL..
-
[C#] Delegate에 대한 공부(3) Delegate ChainC# 2022. 4. 1. 13:12
안녕하세요. 벌써 Deleagate 세 번째 글이네요. 많은 개발자 분들이 C#을 사용하지는 않지만 C#이라는 언어는 참 신기~한것 같네요. 오늘은 Deleagate Chain에 대해 알아보고자 합니다. 이번글 역시 뇌를 자극하는 C# 5.0프로그래밍 책을 통해 공부한 내용입니다 :D Deleagate Chain은 delegate하나가 여러개의 메소드를 동시에 참조하는걸 말합니다. 방법은 기존 선언방식에서 다른 메소드를 += 연산자를 통해 연결해 줍니다. 기존에는 하나의 메소드에 대해서만 참조를 하고 넘겨줬지만 이제는 여러개의 메소드를 참조해보겠습니다. 예시로 만나보시죠~ delegate void ThereIsFire(string location); 먼저 사용할 delegate를 선언하겠습니다. priv..