본문 바로가기

C#/예제 코드

(13)
c# config 파일 경로 바꾸는 2가지 방법. 사전지식 그냥 내버려두면 debug 폴더 따로, release 폴더 따로 저장된다. 특정 위치에 하나만 두고 글로발 하게 사용하고 싶을 떄 2가지 방법이 있는 거 같다. 실습 1. var config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap(){ExeConfigFilename = SomePath + "/App.config"}, ConfigurationUserLevel.None); 2. AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", SomePath + "/App.config"); var config = ConfigurationManager.OpenExeConfigu..
c# 자바스크립트 문자열 encode & decode (escape) 사전지식 C#코드로 웹페이지(html)에 자바스크립트 문자열을 박을 때에는 encoding을 해줘야 한다. 쌍따옴표나 홑따옴표 또는 탈출문자열이 섞여 있을 때 문제가 되기 떄문이다. (웹브라우저가 파싱을 못해요) 실습 public static object Escape(string str) { return HttpUtility.JavaScriptStringEncode(str); } public static string UnEscape(string str) { StringBuilder sb = new(str.Length); for (int i = 0; i i + 4) { ++i; int hex = Convert.ToInt32(str[i..(i+4)] , 16); sb.Append((char)hex); i+=..
c# 특정 폴더 컴파일 제외 .csproj 수정 사전지식 때때로 컴파일이 안됬으면 하는 cs파일이 있기 마련이다. 실습 .csproj 파일 Exe net6.0 10.0 설명 Views 폴더에 있는 cs파일은 컴파일 대상에서 제외된다.
c# 빌드할때 폴더 복사 .csproj 수정 사전지식 폴더에 내용물과 함께 전체복사. 실습 .csproj 파일 Exe net6.0 10.0 PreserveNewest 설명 위내용 처럼 itemGroup을 추가하여 빌드를 하면 public 폴더가 통째로 빌드 폴더에 복사 된다.
c# 프로젝트 폴더 경로 구하기. 사전지식 용량이 커지면 프로젝트 폴더에 있는 리소스에 접근하는게 낫다는 생각이든다. 빌드 폴더에 리소스를 복사해도 되지만 그것의 용량이 크면 부담스럽기 때문이다. 실습 public static readonly string projPath = new Func(() => { var projDir = Environment.CurrentDirectory; var m = Regex.Match(projDir, "[\\\\/]{1}bin[\\\\/]{1}(Debug|Relase)"); if (m.Success) projDir = projDir[0..m.Index]; return projDir; })();
c# config 값 저장하기 (process.env?) 사전지식 node.js 에서는 .env 파일에 필요한 환경변수 같은것을 저장하여 소스코드에 노출되지 않게 사용하곤한다. C#에도 당연히 그러한 것이 있다. 근데 조금 장황하게 되어 있어서 그런지 사용법을 가끔식 까먹는다. 준비물 nuget.org Install-Package System.Configuration.ConfigurationManager -Version 6.0.0 OR dotnet add package System.Configuration.ConfigurationManager --version 6.0.0 실습 ※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 ) using System.Configuration; var config = ConfigurationManager.Open..
c# 몽고DB 간단히 CRUD만. 사전지식 닷넷에서 Mongoose 같은것을 원했으나 찾아봐도 자료가 없는것? 같다. 사용언어어 따라서 API의 사용법이 큰폭으로 달라지는 것은 고달프지만, 별수없이 몽고DB측에서 준비한 OFFICIAL한 라이브러리의 사용법을 알아본다. 준비물 nuget.org Install-Package MongoDB.Driver -Version 2.14.1 OR dotnet add package MongoDB.Driver --version 2.14.1 ※필자는 몽고db v5.0.3 에서 테스트함. 실습 ※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 ) using MongoDB.Bson; using MongoDB.Driver; var dbClient = new MongoClient("mongodb://..
c# DataTable 데이터 이쁘게 출력하기 (콘솔) 사전지식 검색해도 맘에 드는 것이 없어서 직접 소스를 작성하였다. 준비물 .net6.0 이상의 버전 에디터는 vscode or vs2022을 추천. 실습 1. 메서드 작성. using System.Data; internal static class DataTableEX { const string No = " №"; public static void Print(this DataTable table, bool rowNum = false) => Print(table, null, rowNum); public static void Print(this DataTable table, int top, bool rowNum = false) => Print(table, top, null, rowNum); public sta..