닷넷/C#
-
C# 문자열을 문장으로 나누기 (Split('')할 때 'string'에서 'char'(으)로 변환할 수 없습니다. 해결 방법)닷넷/C# 2020. 11. 11. 10:29
string characterString = "123,456,789,000,000"; string[] splitCharacter = characterString.Split(','); // splitCharacter[0] : 123 // splitCharacter[1] : 456 // splitCharacter[2] : 789 // splitCharacter[3] : 000 // splitCharacter[4] : 000 2019/06/19 - [프로그래밍/C#] - C# 문자열을 열 글자씩 쪼개기, 문자열 자르기 C# 문자열을 열 글자씩 쪼개기, 문자열 자르기 텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10..
-
C# foreach 루프를 LINQ로 변환하는 아주 쉬운 방법닷넷/C# 2020. 10. 16. 15:41
내용: IEnumerable을 사용하는 foreach 루프를 LINQ 쿼리 또는 LINQ 호출 양식(LINQ 메서드라고도 함)으로 쉽게 변환할 수 있습니다. 시기: IEnumerable을 사용하는 foreach 루프가 있고 이 루프를 LINQ 쿼리로 읽으려고 합니다. 이유: foreach 루프가 아닌 LINQ 구문을 사용하고 싶습니다. LINQ를 사용하면 쿼리가 C#의 고급 언어 구문이 됩니다. LINQ는 파일의 코드양을 줄이고, 코드를 읽기 쉽게 하며, 다른 데이터 소스가 유사한 쿼리 식 패턴을 갖도록 할 수 있습니다. 참고 LINQ 구문은 일반적으로 foreach 루프보다 효율이 떨어집니다. LINQ를 사용하면 코드의 가독성은 좋아지는 대신 성능이 떨어질 수 있다는 점을 알고 있는 것이 좋습니다. f..
-
C# 시간 계산 (DateTime Add함수 월, 일, 시, 분 더하기 빼기)닷넷/C# 2020. 9. 11. 02:04
C# 시간 계산 C#의 DateTime함수의 Add함수 사용법 기준 날짜에서 월, 일, 시, 분 더하기 빼기 using System; namespace Test { class Program { static void Main(string[] args) { // 현재 날짜 및 시간 DateTime now = DateTime.Now; // 1달 후 DateTime dt1Mp = now.AddMonths(1); // 1달 전 DateTime dt1Mm = now.AddMonths(-1); // 1일 후 DateTime dt1Dp = now.AddDays(1); // 1일 전 DateTime dt1Dm = now.AddDays(-1); // 1시간 후 DateTime dt1Hp = now.AddHours(1); ..
-
C# 텍스트파일 읽기 응용편: 텍스트파일에서 해당 문자가 있는지 확인하기닷넷/C# 2020. 3. 29. 11:12
2018/03/14 - [프로그래밍/C#] - C# 텍스트파일 읽기 이전글에 C#에서 텍스트파일을 읽는 방법에 대해 적었었다. 이 것을 응용하면 텍스트파일에 해당 문자가 있는지 없는지 확인(체킹)하는 메소드를 만들 수 있다. // 라인(한 줄) == 찾는 텍스트 일 때 private bool FindLineText(string text) { bool b = false; try { string filename = "D:\\test.txt"; using (StreamReader sr = new StreamReader(filename)) { string line; // 텍스트파일 한줄씩 읽기 while ((line = sr.ReadLine()) != null) { // 해당 문자가 있으면 브레이크 if (li..
-
C# 네이버 블로그 MetaWeblog API로 글 작성하기 (with XML-RPC)닷넷/C# 2020. 3. 22. 17:21
네아로가 갑자기 되지 않아서 프로그램으로 네이버 블로그에 포스팅을 할 수 없게 되었다. 당황하지 않고 다른 방법을 찾아보았다. XML-RPC라는 방법을 통해 포스팅하는 방법이 있었고, 그것을 쉽게 사용할 수 있게 해주는 API는 MetaWeblog API라는 이름을 가진 것을 알 수 있었다. 사용방법은 다음과 같다. 1. 블로그 API 사용 신청 및 암호발급받기 1) 내 네이버 블로그에서 관리를 클릭한다. 2) 전체보기에서 글쓰기 API 설정을 클릭한다. 3) API사용을 신청하고(금방 된다) API연결정보에서 API연결 암호를 메모해 둔다. 2. 프로젝트에서 사전작업 1) 비주얼스튜디오 프로젝트에서 XML-RPC를 설치해야 한다. [도구] - [NuGet 패키지 관리자] - [솔루션용 NuGet 패키지..
-
C# 난수, 랜덤 Random 사용법 (+ 문자열 배열에서 랜덤으로 출력하기)닷넷/C# 2020. 3. 9. 18:58
Random은 무작위의 숫자를 발생시키는 함수이다. 사용방법 1. 정수(int) private void intRandom() { Random random = new Random(); int min = int.Parse(textBoxMin.Text); int max = int.Parse(textBoxMax.Text); // 음수가 아닌 임의의 정수 iValue = random.Next(); listBoxInt.Items.Add("Next() : " + iValue.ToString()); // maxValue보다 작은 음수가 아닌 임의의 정수 iValue = random.Next(max); listBoxInt.Items.Add("Next(max) : " + iValue.ToString()); // minVa..
-
C# 번역 파파고 API 사용하기 (영어를 한글로, 한글을 영어로 번역)닷넷/C# 2020. 3. 3. 13:51
구글 번역기 API는 연동을 다 했으니까 이제 파파고를 연동할 차례! 네이버 계정이 있다는 가정 하에 네이버 디벨로퍼(네이버 개발자센터)에 들어가서 로그인을 한다. 그 다음 Application에서 애플리케이션 등록을 클릭한다. 애플리케이션 이름은 아무거나 입력하고, 사용 API에서 Papago 번역을 선택한다. 환경은 앱으로 만드는게 아니므로 WEB 설정을 선택 한 다음 웹 서비스 URL은 가지고 있는 도메인으로 입력하였는데 네아로를 사용하며 이것저것 테스트해봤을 때 실제 사용되고 있는 도메인이면 아무거나 사용해도 문제는 없었으므로 도메인이 없는 경우 티스토리 혹은 네이버 도메인으로 해도 될 듯. 모든 것이 입력이 다 되었으면 [등록하기] 클릭 내 애플리케이션에서 방금 등록한 것을 클릭하면 Client..
-
C#에서 구글번역 Google Translation API Basic 사용하기닷넷/C# 2020. 2. 28. 11:58
영어공부를 하기 위해 다른 티스토리에 영문 자료들을 수집하여 포스팅하는데이때 구글번역기와 파파고에서 번역한 것도 같이 올린다.일일이 원문사이트 복사해서구글번역기에 붙여놓고 번역된 걸 복사해서 또 붙여놓고...또 파파고에도 똑같이... 매우매우 반복되는 작업이다. 반복되는 작업은 컴퓨터에게 시켜야지! 자동번역기를 만들어야지! 다행이도 구글번역기와 파파고 모두 API가 지원된다. 그 중에서 구글번역기 API 사용 방법. 먼저 구글계정이 있고, 구글 클라우드 플랫폼에 가입되어 있다는 가정 하에 1. 환경 변수 설정https://cloud.google.com/translate/docs/basic/setup-basic구글 클라우드 플랫폼에서 구글 번역기 API 사용을 신청한다. 프로젝트 설정을 클릭하고,기존의 프..
-
C# 웹크롤링 selenium 사용기닷넷/C# 2020. 1. 8. 22:42
쿠팡사이트를 크롤링하려는데 단순히 웹브라우저나 WebClient 통해서 html을 가져오는 것으로는 브라우저에 보이는 그대로 크롤링을 할 수가 없었다. (이는 해당 사이트에서 오른쪽마우스를 클릭해 페이지 소스보기했을 때 나오는 것과 같다.) selenium은 chrome 브라우저를 열어서 크롤링을 하는 부분이라 사이트에서 F12를 눌렀을 때 보이는 것과 같아 내가 원하는 것을 딱딱 크롤링할 수가 있었다. 프로젝트에서 selenium을 사용하려면 먼저, 비주얼스튜디오에 도구> NuGet 패키지 관리자> 솔루션용 NuGet 패키지 순으로 클릭한다. 찾아보기 탭을 클릭하고, selenium으로 검색한다. 그 중에서 Selenium.WebDriver, Selenium.WebDriver.ChromeDriver, ..
-
C# 웹이미지 다운로드 내폴더에 저장하기닷넷/C# 2020. 1. 3. 00:26
private bool DownloadRemoteImageFile(string uri, string fileName) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); bool bImage = response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase); if ((response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.Moved || response.S..
-
C# WebBrowser없이 HTML 파싱하기(HtmlAgilityPack 사용기)닷넷/C# 2019. 12. 26. 19:56
웹브라우저로 사이트 띄우고 html을 가져오고 하는게 은근히 손이 많이 들어간다. 처음부터 끝까지 오로지 하나의 메소드 안에서 코드로만 작업하고 싶다. 또 사이트 주소는 모르고 html 형식으로 된 텍스트만 가지고 있을때 html을 파싱할 수 있는 방법이 어디 없을까? 도구 > NuGet 패키지 관리자 > 솔루션용 NuGet 패키치관리 순으로 클릭한다. HtmlAgilityPack을 검색한다. HtmlAgilityPack을 설치한다. HtmlAgilityPack이 설치된 후 사용할 폼 코드 맨 윗줄에 System의 HtmlDocument랑 충돌나므로 using hap = HtmlAgilityPack; 이런 식으로 입력한다. private void buttonSystem_Click(object sender..
-
C# 문자열을 열 글자씩 쪼개기, 문자열 자르기닷넷/C# 2019. 6. 19. 17:17
텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10글자마다 줄바꿈을 주었다. private void button1_Click(object sender, EventArgs e) { string strings = textBox5.Text; int indexStart = 0; // 시작 위치 int indexEnd = 0; // 종료 위치 int iSplit = 11; // 몇 글자씩 쪼갤 것인지 + 1 (문자열을 10글자씩 쪼갤 때 = 11) int totalLength = strings.Length; // 문자열 길이 int forCount = totalLength / iSplit; // 글자를 몇 번 쪼개야 하..
-
C# and Database(SQLite, MySQL, MSSQL, Oracle) data type mapping닷넷/C# 2019. 5. 3. 17:49
1. C# vs SQLite: C# SQLite The field name Type Library type GetFieldType(#) Transformation Remarks F_BOOL bool BIT NOT NULL Boolean F_BOOL_NULL bool? BIT Boolean F_SBYTE sbyte INT8 NOT NULL SByte sbyte_ F_SBYTE_NULL sbyte? INT8 SByte sbyte_ F_BYTE byte UINT8 NOT NULL Byte F_BYTE_NULL byte? UINT8 Byte F_SHORT short INT16 NOT NULL Int16 F_SHORT_NULL short? INT16 Int16 F_USHORT ushort UINT16 NOT NU..
-
C# 요일 구하기 DayOfWeek 메서드닷넷/C# 2019. 4. 20. 09:07
C#에서 요일을 구하는 DayOfWeek 메서드 사용법 //월화수목금토일을 int형으로 반환하는 함수 int WhatDay(DateTime _dt) { int iReturn = 0; DayOfWeek dt = _dt.DayOfWeek; switch (dt) { case DayOfWeek.Monday: //월 iReturn = 1; break; case DayOfWeek.Tuesday: //화 iReturn = 2; break; case DayOfWeek.Wednesday: //수 iReturn = 3; break; case DayOfWeek.Thursday: //목 iReturn = 4; break; case DayOfWeek.Friday: //금 iReturn = 5; break; case DayOfW..