C# 20

C# 프로그래밍 도구

C# 프로그래밍 도구 C# 팀이 웹에서 다른 CLI 구현, 멋진 개체 브라우저, IDE 트릭, 추가 기능, Obfuscator를 비롯하여 보다 신속한 작업 수행을 지원하는 기타 유용한 도구와 유틸리티를 찾았습니다. 코드 생성 도구를 포함하여 유용한 도구, 프레임워크 및 클래스 라이브러리에 대한 추가 링크를 보려면 클래스 및 라이브러리 페이지를 확인하십시오. 주요 도구 라이브러리 및 기타 자료 C# 컴파일러 및 프레임워크 Obfuscator 디컴파일러 프로파일러/최적화 도구 리팩터링 개체 브라우저 편집기 IDE(개발 환경) 빌드 도구 표준 검증 도구 테스트 설명서 데이터베이스 정규식 그래픽, 게임 및 그리기 주요 도구 Microsoft® .NET 응용 프로그램을 위한 IMSL™ C# Numerical Li..

C# and Excel (reading)

이전 포스트 였던 C#을 이용한 엑셀(쓰기) C# and Excel (writing) 에서 이이 번 포스팅 에서는 엑셀(읽기)를 해보겠습니다. 이전 포스트와 같은 환경 Microsoft Visual Studio 2008 + Microsoft Office Excel 2007 이며이며 처음 참조추가 하는 부분은 같습니다. 혹시 이 글을 처음처음 보신다면 이전 글을 먼저 확인해 보세요^^. 역시 이번이번 포스팅도 상당히 간단하게 끝납니다. 역시 사용법을 몰랐을 뿐이죠… view sourceprint? 01.string conStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\sample.xlsx;Extended Properties=\"Excel 12.0;HDR..

C# 쓰레딩 [멀티쓰레딩]

지난번에 Thread를 왜 쓰레드라고 표기한지에 대해서와 단일 쓰레드의 시작과 종료에 대해 썰을 풀었다. 이번에는 멀티 쓰레드와 동기화를 함해보고 담에는 쓰레드 풀에 대해 썰을 풀어보자. using System; using System.Threading; //데이터를 주고받아야 하니 Class를 하나 만들고 인터페이스도 만들어 두자. class work{ int a; //받을 인자값 //인터페이스 메소드 public work(int a){ this.a = a; } //실제 일할놈 public void runit(){ for (int i=0; i

C# 쓰레딩 [시작과 종료]

쓰레드라고 하는것이 한때는 고수들의 전유물이었는데 요즘은 강호고수들이 많아져서인지 아무나 쓰는 기술되었다. 뭐 암튼 대충 쓰레드에 대해 정리하자는 차원에서 써둠을 밝히니 향후에 제대로 안된다고 이런거 하지말자. 1. 쓰레드 사용하기 일단 닷넷의 쓰레드는 굉장히 쓰기쉽다. 다음의 예제를 함해보자. using System; using System.Threading; //쓰레드를 쓰겠다고 선언하자. class Test { static void Main(){ Console.WriteLine("카운트 0부터 49까지 세기!"); ThreadStart th = new ThreadStart(work); //1.work메소드를 위임하자. Thread t = new Thread(th); //2.쓰레드생성하자. t.Sta..

연산자 오버로딩 - 인덱스

class Point { public int x; public int y; public Point(int x, int y) { this.x = x; this.y = y; } public override string ToString() { //(x,y)값 return String.Format("({0},{1})",x,y); } // + 연산자 메서드 public static Point operator +(Point pt1, Point pt2) { return (new Point(pt1.x + pt2.x, pt1.y + pt2.y)); } // - 연산자 메서드 public static Point operator -(Point pt1, Point pt2) { return (new Point(pt1.x - p..

C#에서의 데이터형

값형과 레퍼런스형 비교 닷넷에서 제공하는 데이터형은 변수가 어떤 값을 갖느냐에 따라 분류 값(value) 형 변수가 실제 데이터 값을 직접 가지고 있는 경우 값(value) 형은 스택(stack) 메모리 공간에 저장되며, 할당 연산을 했을 때 별도의 메모리 영역에 할당 레퍼런스(reference) 형 변수가 실제 데이터 값이 있는 곳을 가리키는 값을 갖는 경우 레퍼런스(reference) 형은 힙(heap) 메모리 공간에 저장 할당 연산을 했을 때 힙 메모리 공간을 가리키는 레퍼런스 변수 값 사이에서 할당이 일어남 IntObj r1 = new IntObj(); 스택(Stack)데이터 값을 임시로 저장하는 메모리 영역으로, 보통 메서드의 인자, 메서드 안에 선언한 변수들이 스택 공간에 할당 힙(Heap)일..

닷넷 3.5를 이용한 디자인 패턴의 구현 (4)

이름에 짐작할 수 있듯이, Observer 패턴은 오브젝트의 상태를 관잘하는 데 사용된다. 이 패턴이 약간 변형된 패턴이 출판 (Publish)과 구독(Subscribe)이다 관찰 대상 오브젝트는 어떤 이벤트 혹은 이벤트들을 "출판"하고 이들을 주시하고 있던 오브젝트들(관찰자들)은 발생한 이벤트를 "구독"한다. 이것을 좀 더 단순화하기 위해, 두 패턴을 모두 Observer 패턴이라고 부를 것이다. 사실 이 두 가지 패턴의 차이는 보는 관찰 시점의 차이일 뿐이다. 쉽게 얘기해서, '당신이 나를 관찰하고 있나요? 와 내가 당신이 구독하려는 나의 이벤트를 출판하고 있나요? 의 차이와 같다. 전자는 나를 보는 관점이 타인이 시점이고 후자는 자신의 시점에서 일어나는 이벤트를 관찰하게 된다. Observer 패턴..

C#으로 이미지 리사이즈/조작 시 부드럽게 렌더링 하기

간단한 팁.C#에서 GDI+의 Graphics 오브젝트를 사용해서 렌더링을 할 때 사이즈 변경 등의 변형이 일어나면 들쭉날쭉한 도트가심해지는 현상이 있는데요, 간단하게 InterpolationMode를 설정하여 렌더링 방식을 선택할 수 있네요.Image img = Image.FromFile("a.jpg");using (Bitmap bitmap = new Bitmap(img.Width, img.Height)){using (Graphics g = Graphics.FromImage(bitmap)){        // 드로잉 모드        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;..

하나의 클래스를 통째로 넘기는 방법 ( a.aspx.cs -> b.aspx.cs )

A.aspx.cs ------------------------------------------------------------ public partial class A : System.Web.UI.Page { public string strTest { get { return "123"; } } protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Server.Transfer("test2.aspx"); } } B.aspx.cs ------------------------------------------------------------------------..