본문 바로가기

728x90
반응형

C#

(15)
[Visual Studio] 파일 선택하면 솔루션 탐색기에서 자동 이동하는 설정 개발자마다 차이는 있다만, 내가 현재 작성하는 class , 파일의 위치를 솔루션 탐색기에서 바로 보는 게 필요한 개발자도 존재를 한다. 이에 기본 옵션은 꺼져있다만 아래의 위치로 이동해서 설정을 켜 두면 된다 도구 > 옵션 > 프로젝트 및 솔루션 > 일반 > "솔루션 탐색기에서 활성화된 항목 추적" 을 체크하면 된다. 기본적으로 꺼져있기에 사용하는 사람이 적을 수는 있겠다만 알아두면 간혹 유용할 때가 있는 옵션이다.
[C#] ServiceController 클래스 관련해서 ServiceController네임 스페이스 : System.ServiceProcess (System.ServiceProcess.dll 임포트해야) 개인적으로 만드는 프로그램 중, 필수적인 서비스 (Database 등)가 실행중인지 아닌지 확인할때까 있습니다.이럴때 해당 서비스를 연결하거나 서비스 관련정보를 가져올때ServiceController라는 클래스가 존재한다는 걸 알게되었습니다. 일단 msdn의 내용을 일부 가져왔습니다. (링크) 속성 이름 내용 CanPauseAndContinue 서비스를 일시 중지했다가 다시 시작할 수 있는지를 나타내는 값을 가져옵니다. CanShutdown 시스템을 종료할 때 서비스에 알릴지를 나타내는 값을 가져옵니다. CanStop 시작한 서비스를 중지할 수 있는지의 여부..
[.Net C#] 올림, 내림, 반올림 (Ceiling, Truncate, Round) 올림, 내림, 반올림 (Ceiling, Truncate, Round) 개인적으로 프로그램을 만들다가 필요해서...System.Math 클래스에 포함된 함수들입니다. - 올림 : Math.Ceiling(double값)- 내림 : Math.Truncate(double값)- 반올림 : Math.Round(double값 [, 자릿수]) double n1 = 2.55d;double n2 = 2.44d; Console.WriteLine("Ceiling: n1= " + Math.Ceiling(n1) + ", n2= " + Math.Ceiling(n2)); Console.WriteLine("Truncate: n1= " + Math.Truncate(n1) + ", n2= " + Math.Truncate(n2)); // ..
[.Net C#] 확장메서드 (extension method) .Net C# - 확장메서드(Extension method)를 사용해보자. .Net 3.5버전부터 새로 추가된 기능입니다. 기존에 사용되거나 만들어진 클래스, 구조체, 인터페이스 구현 혹은 타입을 직접 변경하지않고 기능을 확장해 사용하는 방법입니다. Int같은 데이터타입이나 만들어진 Class에도 적용이 가능합니다. 몇가지 알아야 할 점들이 있습니다.* 확장메서드는 정적 클래스의 멤버로 정의해야한다.* 확장메서드의 첫번째 매개변수는 this 키워드를 한정자로 써야한다 (그리고 첫번째만)Ex) static class TestExtension {public static void DisplayMethod(this object obj) { ... }...}* 현재 메모리상에 존재하는 객체의 인스턴스를 통해 확장..
C# nullable타입 변수, 데이터 타입? 형식 & ?? 연산자 C# Nullable 타입변수 관련, [데이터타입?] 그리고 ?? 연산자 데이터타입? 선언 Ex) int? nInt , bool? nBool 등int, bool 등의 값 타입에 ?를 사용하여 null을 할당할 수 있게 해주며데이터타입 선언시 ? 사용은제네릭 System.Nulable 구조체 타입의 인스턴스를 생성하는 구문의 단축표기법입니다. 하단의 내용처럼 직접 Nullable을 사용할 수 있습니다. static void Main(string[] args) { //int n1 = null; 일반값 타입에 null을 할당할수없다 int? n2 = null; //bool b1 = null; 일반값 타입에 null을 할당할수없다 bool? b2 = null; //string? str = "Hello"; Con..
Params 한정자, 매개변수 배열 Param; 함수에 가변적인 매개변수 전달시 배열로 전달배열은 이미 아신다는 전제하에... - 동일한 타입을 갖는 여러개의 매개변수를한개의 매개변수 (즉 배열)로 전달하는 역할입니다. double값의 가변적 매개변수를 받아서 평균을 구하는 함수를 구현해보겠습니다. namespace ConEx01{ class Program { static void Main(string[] args) { Console.WriteLine("Avg is {0}", CalcAvg(1.0, 2.0, 3.6, 4.0)); Console.WriteLine("Avg is {0}", Math.Round(CalcAvg(3.0, 4.0, 5.5), 3));// 소수점 3자리까지만 결과를 보여주기위해서 Math.Round 함수를 사용 } st..
[C#] Cross Threading 처리 : InvokeRequired 속성 UI 그리고 Thread 프로그래밍하다 간혹 "크로스 스레드" 문제를 부딪치게 되면서, Invoke 및 Control.InvokeRequired 속성을 알아보게 되었습니다. 스레드들에 대해 약간 보자면... - Thread Affinity(스레드 선호도) : 기본적으로 그 UI 컨트롤을 생성한 쓰레드만이 해당 UI객체를 접속 가능. - UI 스레드 : UI 컨트롤을 생성하고 이 컨트롤의 윈도우 핸들을 소유한 스레드 - Worker 스레드 : 이런 UI 스레드를 갖지 않는 스레드 예제 using System.Threading; namespace FrmEx10 { public partial class Form1 : Form { private Thread m_thread = null; public Form1(..
C# System.Collections 인터페이스 & 클래스들 System.Collections 의 인터페이스 System.Collections 인터페이스 내용 ICollection 컬렉션 클래스의 일반적인 특징(읽기전용, 스레드 안전 등) 정의 IComparer 두 객체를 비교하는데 이용 IDictionary 객체가 내용을 이름/값 쌍을 이용해 나타내는데 이용 IDictionaryEnumerator IDictionary를 지원하는 객체의 내용을 열거하는데 이용 IEnumerable 주어진 객체를 위한 IEnumerator 인터페이스를 반환 IEnumerator foreach스타일의 반복처리를 지원하기위해 사용 IHashCodeProvider 개인화된 해시 알고리즘을 이용해 구현하는 형식에 대한 해키코드 반환 IList 객체 리스트에서 항목을 추가하고 제거하고 색인..
C# 에서 정규표현식 - Regex.IsMatch 이용 .Net C#에서 정규표현식 사용하기간혹 구문의 패턴이나 분석할때 정규표현식을 써야할 때가 존재하더군요. using System.Text.RegularExpressions; Regex.IsMatch( 분석할 구문, 패턴 [, 옵션] ); 여기서, match위한 패턴정보 입력하는걸 퍼왔습니다. 1. '.' 임의의 한 문자 ex) s.e -> sae, sbe, sce, sde ... .ce -> ace, kce, dce ... 2. '*' 바로 앞의 문자가 없거나 하나 이상 ex) s*e -> e, se, see, ssse ... abc* -> ab, abc, abcc, abccc ... h*im -> im, him, hhim, hhhim ... 3. '+' 바로 앞의 문자가 하나 이상 ex) s+e -> ..
this의 3가지 용법 체크 C#, this의 3가지 용법. this. 말그대로 '이것'을 나타낸다고 보면 될것같네요1) 자신의 멤버를 가리키는 thisthis만 치면 해당 클래스의 멤버변수들 쉽게 보고 타이핑이 가능하기에 개인적으로 많이 썼던 방법입니다.Ex) class Exam{private int iVarprivate string strVar;public string strVar1;protected string strVar2; public Exam() {this.iVar = 100;this.strVar="Private1";this.strVar1="Public";this.strVar2="Protected";}} 2) 클래스를 반환하는 this동일한 객체 인스턴스를 가리키게 됩니다.Ex)namespace Con_Ex05{class..

반응형