C\#프로 그래 밍 과 Visual Studio 사용 방법(하)

만약 당신 이 검색엔진 을 통 해 이 글 을 발견 한다 면,나 는 당신 이 먼저 이 시리즈 의 첫 번 째 편 을 보 는 것 을 건의 합 니 다.이것 은 이 시리즈 의 두 번 째 편 입 니 다.오늘 은 여러분 에 게 더욱 풍부 한 C\#와 Visual Studio 프로 그래 밍 기 교 를 가 져 다 드 리 겠 습 니 다.함께 보 세 요.
추천
1、DataTable.HasRows
이것 은 어떠한 프레임 워 크 에 도 속 하지 않 지만 확장 방법 을 통 해 이러한 방법 을 쉽게 모방 할 수 있 습 니 다.데이터 시트 대상 이 비어 있 거나 줄 수 있 는 원본 코드 를 없 애 지 는 않 지만 응용 프로그램의 코드 를 간소화 할 수 있 습 니 다.다음은 코드 세 션 입 니 다.

<CODE> 
public static bool HasRows(this DataTable dataTable) 
  { 
return dataTable.IsNull() ? false : (dataTable.Rows.Count > 0); 
  } 
 
 public static bool IsNull(this object o) 
  { 
   return (o == null); 
  } 
 
 To use: 
 If(dataTable.HasRows()) 
 { 
 … 
 } 
  </CODE> 
다른 규칙 은 여전히 확장 방법 과 같다.
2、ToTitleCase
이 방법 은 모든 단어의 이니셜 을 대문자 로 바 꿀 수 있 고 나머지 자 모 는 소문 자로 바 꿀 수 있 습 니 다.예 를 들 어'look below for a sample'은'Look Below For A Sample'로 바 뀔 것 입 니 다.TextInfo 는 System.Globalization 네 임 스페이스 의 일부분 이지 만 다음 문제 가 존재 합 니 다.
현재 의 문화
입력 문자열 이 모두 대문자 라면
아래 의 확장 방법 은 이 두 가지 결함 을 동시에 고려 하 였 다.

<CODE> 
public static string ToTitleCase(this string inputString) 
  { 
   return Thread.CurrentThread.CurrentCulture.TextInfo. 
ToTitleCase((inputString ?? string.Empty).ToLower()); 
 } 
  </CODE> 
3.외 현적 과 내 현적 인터페이스 실현
그게 중요 합 니까?네,아주 중요 합 니 다.그들 사이 의 문법 차 이 를 아 십 니까?사실 그것들 은 근본 적 인 차이 가 존재 한다.클래스 의 내 현적 인 터 페 이 스 는 기본적으로 하나의 공공 방법 으로 클래스 의 대상 이나 인터페이스 에서 모두 접근 할 수 있다.한편,클래스 의 외 현적 인 터 페 이 스 는 기본적으로 개인 적 인 방법 으로 인터페이스 로 만 접근 할 수 있 고 클래스 의 대상 을 통 해 접근 할 수 없다.다음은 예제 코드 입 니 다.

<CODE> 
 
 INTERFACE 
 public interface IMyInterface 
 { 
 void MyMethod(string myString); 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE IMPLICITLY 
 public MyImplicitClass: IMyInterface 
 { 
 public void MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 CLASS THAT IMPLEMENTS THE INTERFACE EXPLICITLY 
 public MyExplicitClass: IMyInterface 
 { 
 void IMyInterface.MyMethod(string myString) 
 { 
 /// 
 } 
 } 
 
 MyImplicitClass instance would work with either the class or the Interface: 
 MyImplicitClass myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 IMyInterface myObject = new MyImplicitClass(); 
 myObject.MyMethod(""); 
 
 MyExplicitClass would work only with the interface: 
 //The following line would not work. 
 MyExplicitClass myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 //This will work 
 IMyInterface myObject = new MyExplicitClass(); 
 myObject.MyMethod(""); 
 
 </CODE> 
4、자동 속성
그것 은 하나의 공공,두 개의 개인 구성원 속성 을 포함 하 는 가장 좋 은 방법 이다.
Tab 키 를 두 번 누 르 면(코드 세 션 기능 을 켜 야 합 니 다)하나의 Auto 속성 이 생 성 됩 니 다.Tab 키 를 누 르 면 Auto 속성 으로 이름 을 지 을 수 있 습 니 다.아래 코드

<CODE> 
 private double _total; 
 public double Total 
 { 
 get { return _total; } 
 set { _total = value; } 
 } 
 </CODE> 
되다

<CODE> 
public double Total { get; set; } 
 </CODE> 
디자인 애플 리 케 이 션 에 따라 설명자 에 접근 할 수 있 습 니 다.컴 파일 러 는 개인 구성원 변 수 를 만 들 것 입 니 다.
5,강력 한 Path.Combine
Path.Combine 은 강력 한 기능 으로 꼬리 사선 과 경로 와 관련 된 문 제 를 제거 하고 간단 하고 사용 하기 쉬 우 며 경로 문자열 을 더욱 연속 시 킵 니 다.문자열 경로 파 라미 터 를 포함 합 니 다.
경로 의 유효한 구분자 나 빈 칸 을 걱정 하지 마 십시오.경로 가 합 쳐 질 때의 문자열 연결 을 전혀 처리 하지 않 아 도 됩 니 다.
6.클래스 에서"Override"방법 을 작성 하 는 빠 른 방법
코드 편집기 에 override 를 입력 하고 스페이스 바 를 누 르 면 클래스 기반 복사 방법 을 볼 수 있 습 니 다.그림 2 참조.

그림 1  덮어 쓰기 방법 목록
7.확 장 된 프로필 사용
app.config(응용 프로그램 에 대한)와 웹.config 설정 파일 에 감 사 드 립 니 다.복잡 한 응용 프로그램 급 설정 을 처리 할 수 있 지만 저 희 는 서로 다른 환경 설정 이 직면 하 는 여러 가지 문 제 를 처리 해 야 합 니 다.이것 은 개발,테스트 와 생산 환경의 설정 을 말 합 니 다.
우 리 는 일부 코드 를 분석,테스트 또는 조정 할 수 있 도록 특정한 환경 으로 회복 해 야 한다.이 과정 에서 매번 설정 과 조정 이 지루 하 다.
예 를 들 어 복구 할 때마다 ConnectionStrings(연결 문자열)를 다시 설정 해 야 할 수도 있 습 니 다.이 문 제 는 외부 파일 참조 로 ConfigSource 속성 을 사용 하여 해결 할 수 있 습 니 다.예 를 들 어 아래 코드 는 deveploment.config 외부 프로필 을 참조 합 니 다.

<connectionStrings configSource="configs\ development.config" /> 
또한 AppSettings 설정 소절 에서 이 유용 한 속성 을 사용 할 수 있 습 니 다.
8.String.split 방법의 한 계 를 극복
String.split 는 문자열 을 구분 하 는 가장 이상 적 인 방법 이지 만 우리 가 알 기 로 는"|"이나":"같은 문 자 를 사용 할 수 없다 면 키보드 에 있 는 유일한 단일 문 자 를 구분자 로 사용 해 야 합 니 다.이 단점 은 RegEx 라 이브 러 리 에서 제공 하 는 Split 방법 으로 극복 할 수 있 습 니 다.다음 코드 는 RegEx Split 을 사용 하여"||"구분 문자열 을 표시 합 니 다.

<CODE> 
string delimitedString = "String.Split || RegEx.Split"); 
string[] ouputString = System.Text.RegularExpressions.Regex.Split( 
 delimitedString, 
 , System.Text.RegularExpressions.Regex.Escape("||")); 
 </CODE> 
9.요소 의 HTML 코드 보기 와 디자인 보기 사이 의 빠 른 전환(반대로 도 마찬가지)
응용 프로그램 을 디자인 할 때 저 희 는 IDE 에 많은 시간 을 들 였 습 니 다.대부분의 시간 은 HTML 콘 텐 츠 와 디자인 보기 에 소모 되 었 습 니 다.Visual Studio 2010 은 디자인 보기 와 HTML 코드 간 의 빠 른 전환 기능 을 제공 합 니 다.
HTML 보기에 서 디자인 보기에 서 보고 싶 은 요 소 를 찾 은 다음 디자인 보기 로 전환 합 니 다.보고 싶 은 요 소 는 선택 한 상태 여야 합 니 다.또한 속성 창 은 현재 선택 한 요소 의 속성 을 표시 해 야 합 니 다.
이와 유사 합 니 다.디자인 보기에 서 요 소 를 선택 하고 코드 보기 로 전환 하면 선택 한 요소 에 대응 하 는 HTML 코드 가 하 이 라이트 상태 일 것 입 니 다.
10.데이터베이스 에 있 는 데 이 터 를 빠르게 검색 합 니 다.
데이터 시트 는 Find 와 Select 방법 으로 줄 을 선택 하 는 것 을 지원 하지만 DataView 의 방법 이 좋 지 않 습 니 다.DataView 는 FindRows 방법 을 제공 합 니 다.정렬 열 에 만 든 색인 을 사용 할 수 있 기 때문에 속도 가 빠 릅 니 다.
이 기술 들 이 당신 이 귀중 한 프로 그래 밍 시간 을 절약 하 는 데 도움 이 되 기 를 바 랍 니 다.어서 가서 해 보 세 요!

좋은 웹페이지 즐겨찾기