본문 바로가기

C#/예제 코드

(13)
c# 콘솔 폰트 확인 및 폰트(글꼴,크기) 변경 사전지식 및 계기 특수문자 또는 외국문자를 출력하다 보면 폰트에 따라서 깨지는 글자가 생긴다. 특히 콘솔에서는 대체 폰트가 없는 듯이 깨진다. 그리고 글꼴이 맘에 안들 수가 있다. 그럴 땐 콘솔 창 타이틀바에 마우스 오른쪽을 클릭하여 속성 창에서 변경이 가능한데, 이번에는 c#코드로 런타임 때 변경하는 방법을 알아본다. 준비물 .net6.0 이상의 버전 에디터는 vs2022을 추천(권장) 실습 1. ConsoleHelper.cs 파일을 작성한다. using System.Runtime.InteropServices; public static class ConsoleHelper { private const int FixedWidthTrueType = 54; private const int StandardOut..
c# 전각 or 반각 문자 전부 찾기 (콘솔) 사전지식 및 계기 전각, 반각에 따라서 아래의 링크의 내용처럼 콘솔에 맞게 포맷팅을 변경해줘야 하는 경우가 있다. 2021.12.30 - [C#/예제 코드] - c# DataTable 컬럼정보 이쁘게 출력하기 (콘솔) c# DataTable 컬럼정보 이쁘게 출력하기 (콘솔) 사전지식 DataTable의 칼럼 정보를 전체적으로 망라할 수 있는 소스를 뒤져봤지만, 전각 문자에 대한 지원이 미흡하다던가.. 대충 텍스트만 출력한다든가.. 맘에 드는 것이 없어서 직접 소스를 작 self-edu.tistory.com 반각 문자는 체계가 있을까 싶어 아스키코드나 일본어 가타카나 몇 개 정도로 상정하여 🔍검색하면, 영어로 하든지 한글로 하든지 제대로 된 정보를 찾기 힘들다. 그리고 중요한 점은 폰트에 따라서 반각과 전..
c# DataTable 컬럼정보 이쁘게 출력하기 (콘솔) 사전지식 DataTable의 칼럼 정보를 전체적으로 망라할 수 있는 소스를 뒤져봤지만, 전각 문자에 대한 지원이 미흡하다던가.. 대충 텍스트만 출력한다든가.. 맘에 드는 것이 없어서 직접 소스를 작성하였다. 준비물 .net6.0 이상의 버전 에디터는 vscode or vs2022을 추천. 실습 1. 메서드 작성. using System.Data; internal static class DataTableEX { public static void PrintColumns(this DataTable table) { DataColumn[] columns = table.Columns.Cast().ToArray(); if (columns.Length == 0) { Console.WriteLine("NO columns..
c# 에서 자바스크립트 사용 (V8엔진) 사전지식 본 주제는 웹브라우저의 스크립트 컨트롤에 대한 내용이 아니다. (asp.net 아님) Node.js에서도 사용되는 자바스크립트 V8엔진의 간략한 사용법을 목적으로한다. 준비물 nuget.org ※ Native패키지는 운영체제에 맞는것을 설치하여야 한다. (아래는 윈도우64bit 용) Install-Package Microsoft.ClearScript.V8.Native.win-x64 -Version 7.2.0 Install-Package Microsoft.ClearScript.V8 -Version 7.2.0 OR dotnet add package Microsoft.ClearScript.V8.Native.win-x64 --version 7.2.0 dotnet add package Microsoft...
c# 의 Eval (동적 컴파일) 사전지식 c#에도 자바스크립트의 eval 같은 것이 있으나 그러한 작업은 태생적으로 느리다. 준비물 nuget.org Install-Package Microsoft.CodeAnalysis.CSharp.Scripting -Version 4.0.1 OR dotnet add package Microsoft.CodeAnalysis.CSharp.Scripting --version 4.0.1 실습 ※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 ) using Microsoft.CodeAnalysis.CSharp.Scripting; using Microsoft.CodeAnalysis.Scripting; using System; //기본편 var value = await CSharpScript.Eval..