>  기사  >  백엔드 개발  >  일반적으로 사용되는 asp.net 기술 요약

일반적으로 사용되는 asp.net 기술 요약

怪我咯
怪我咯원래의
2017-03-31 10:37:491313검색


vs2005에서 일반적으로 사용되는 단축키

디버깅단축키

F6: 솔루션 생성
Ctrl+F6: 현재 프로젝트 생성
F7: 보기 코드
Shift+F7: 양식 디자이너 보기
F5: 디버깅 시작
Ctrl+F5: 실행 시작(디버깅 없음)
Shift+F5: 디버깅 중지
Ctrl+Shift+F5: 디버깅 다시 시작
F9: 중단점 전환
Ctrl+F9: 중단점 활성화/중지
Ctrl+Shift+F9: 모든 중단점 삭제
F10: 프로세스별 프로세스
Ctrl+F10: 실행 이동 커서
F11: 문별

단축키 편집

Shift+Alt+Enter: 전체 화면 편집으로 전환

Ctrl+B,T / Ctrl +K, K: 북마크 전환 전환
Ctrl+B,N / Ctrl+K,N: 다음 북마크로 이동
Ctrl+B,P: 이전 북마크로 이동
Ctrl+B,C: 지우기 모든 태그

Ctrl+I: 증분 검색
Ctrl+Shift+I: 역방향 순차 검색
Ctrl+F: 찾기
Ctrl+Shift+F: 파일에서 찾기
F3 : 다음 찾기
Shift+F3: 이전 찾기
Ctrl+H: 바꾸기
Ctrl+Shift+H: 바꾸기
Alt+F12: 기호 찾기(모든 검색 결과 나열)

Ctrl+Shift+V: 클립보드반복

Ctrl+왼쪽 및 오른쪽 화살표 키: 한 번에 한 단어씩 이동
Ctrl+위쪽 및 아래쪽 화살표 키: 코드 화면 스크롤, 그러나 커서 위치는 이동하지 않습니다.
Ctrl+Shift+L: 현재 줄 삭제
Ctrl+M,M: 현재 중첩된 접기 숨기기 또는 확장 상태
Ctrl+M,L: 모든 프로세스를 동일한 숨김 또는 확장 상태
Ctrl+M,P: 윤곽선 표시 중지
Ctrl+E,S: 공백 보기
Ctrl+E,W: 단어 자동 줄 바꿈
Ctrl+G: 지정된 항목으로 이동 줄
Shift+Alt+화살표 키: 직사각형 텍스트 선택
Alt+마우스 왼쪽버튼: 직사각형 텍스트 선택

Ctrl+Shift+U: 모두 대문자로 변경
Ctrl +U: 모두 소문자로 변경

코드 단축키

Ctrl+J / Ctrl+K,L: 멤버 나열
Ctrl+Shift+스페이스바 / Ctrl+K,P : 매개변수 정보
Ctrl+K,I: 빠른 정보

Ctrl+E,C / Ctrl+K,C: 댓글선택한 내용
Ctrl+E,U / Ctrl+K,U: 댓글 내용 선택 취소

Ctrl+K,M: 메소드 스텁 생성
Ctrl+K,X: 코드 세그먼트 삽입
Ctrl+K,S: 외부 코드 삽입

F12: 호출된 프로시저 또는 변수

창 단축키

Ctrl+W, W: 브라우저 창
Ctrl의 정의로 이동 +W,S: 솔루션 관리자
Ctrl+W,C: 클래스보기
Ctrl+W,E: 오류 목록
Ctrl+W,O: 출력 보기
Ctrl +W,P: 속성
Ctrl+W,T: 작업 목록
Ctrl+W,X: 도구 상자
Ctrl+W,B: 북마크 창
Ctrl+ W,U: 문서 개요

Ctrl+D,B: 중단점 창
Ctrl+D,I: 직접 실행 창

Ctrl+Tab: 활성 창 전환

Ctrl+Shift+N: 새 프로젝트 만들기
Ctrl+Shift+O: 프로젝트 열기
Ctrl+Shift+S: 모두 저장
Shift+Alt+C: 새 클래스 만들기
Ctrl +Shift+A: 새 항목



3. Variable.ToString()
문자 유형을 String으로 변환
12345.ToString("n"); //12,345.00 생성
12345.ToString("C"); //12,345.00엔 생성
12345.ToString("e") ; 1.234500e+004 생성
12345.ToString("f4"); //12345.0000 생성
12345.ToString("x") //3039(16진수) 생성
12345. ToString("p" ); //1,234,500.00% 생성

1.9 중국 날짜 표시 가져오기 - 연, 월, 일, 시, 분
string strY=현재시간. ToString("f"); //초 표시 안 함

1.10 중국어 날짜 표시_연도 및 월
string strYM=currentTime.ToString("y")

1.11 중국어 가져오기 날짜 표시_월 일
string strMD=currentTime.ToString("m");

1.12 중국 연도, 월, 일 가져오기
string strYMD=currentTime.ToString("D");
1.13 현재 시간과 분을 가져옵니다. 형식은 14:24
string strT=currentTime.ToString("t")

1.14 현재 시간을 가져옵니다. 형식은 2003입니다. -09-23T14:46 :48
string strT=currentTime.ToString("s");

1.15 현재 시간을 가져옵니다. 형식은 다음과 같습니다. 2003-09-23 14:48:30Z
string strT=currentTime.ToString ("u");

1.16 현재 시간을 가져옵니다. 형식은 다음과 같습니다. 2003-09-23 14:48
string strT=currentTime.ToString("g ");

1.17 다음 형식으로 현재 시간을 가져옵니다. Tue, 23 Sep 2003 14:52:40 GMT
string strT=currentTime.ToString("r");

1.18 현재 시간으로부터 n일 후 날짜 및 시간 가져오기

DateTime newDay = DateTime.Now.AddDays(100)


문자열 변수.Replace("substring","replace with")
문자열 교체
예:
string str="China"
str=str .Replace("國","central"); //"國" 문자를 "central" 문자로 바꿉니다.
Response.Write(str); //출력 결과는 "central"입니다.



C#프로그래밍표준
좋은 코딩 스타일을 개발하는 것은 매우 중요합니다. 자신이나 다른 사람이 지저분한 코드를 보고 싶어하는 사람은 아무도 없습니다. 앞으로도 유지할 예정이니 앞으로는 변수명, 주석, 코드 들여쓰기 등 좋은 코딩 습관을 길러주세요....
1. Pascal을 사용하여 유형, 메소드 이름 및 상수

tr>
public class SomeClass
public class SomeClass
{
 const int DefaultSize=100;  
 public SomeMethod()
 {
 }
}
{

const int DefaultSize=100;
public SomeMethod()

{
int number;  
           void MyMethod(int someNumber)  
           {}
}

}

2. 지역 변수 및 메소드 매개변수에 카멜식 이름 지정을 사용합니다.
int number;
interface ImyInterface  
           {…}
void MyMethod (int someNumber)

I 추가

interface ImyInterface
                                        /table>4. 전용 멤버 변수 앞에 m_을 추가합니다. m_ 뒤의
public class SomeClass  
           {  
           private int m_Number;  
           }
변수 이름

은 낙타식 명명 방법

public class SomeClass { private int m_Number;       }

5. 사용자 정의 속성 클래스에 접미사 속성 6을 추가합니다. 사용자 정의 예외 클래스에 접미사
Exception


을 추가합니다. 7. 메서드 이름을 지정할 때 ShowDialog() object
쌍을 사용합니다. >
8. 반환 값이 있는 메서드의 이름은 GetObjectState()와 같이 반환 값에 대한 설명으로 지정되어야 합니다.

9. 설명적인 변수 이름을 사용하세요.
a) 단일 문자 변수를 사용하지 마세요. I 또는 t 등과 같은 이름 index 또는 temp와 같은 의미 있는 이름을 사용하십시오.
b) 공개 또는 보호 유형의 변수에 헝가리어 표기법을 사용하지 마세요.
c) 단어를 축약하지 마세요(예: 숫자 대신 숫자 사용).

10. 항상 시스템 네임스페이스의 별칭 대신 미리 정의된 C#을 사용하세요. 예:
객체 대신 객체 사용 문자열 대신 문자열 사용
//正确  
           public class LinkedList  
           {…}  

           //避免  
           public class LinkedList  
           {….}
int32 대신 int 사용


제네릭을 사용하는 경우 , 유형의 첫 글자는 대문자여야 합니다. .NET에서 Type 유형을 처리할 때 Type 접미사를 유지하세요. (C#2.0의 새로운 기능)

//올바른
                            공개 클래스 LinkedList                                             
> // 피하십시오
Public Class LinkedList & LT; KeyType, Datatype & GT {….}

12 . 제품 이름이나 회사 이름과 같은 네임스페이스 정의
using System;  
           using System.Collection.Generic;  
           using System.ComponentModel;  
           using System.Data;  
           using MyCompany;  
           using MyControls;
13. 정규화된 방식으로 유형 이름을 사용하지 말고 using 키워드를 사용하세요.


14. 네임스페이스에 using 키워드 사용을 피하세요

delegate void SomeDelegate();  
           public void SomeMethod()  
           {…}  
           SomeDelegate someDelegate=SomeMethod;
15. 시스템 프레임워크에서 제공하는 네임스페이스를 모두 함께 구성하고, 타사에서 제공하는 이름을 사용하세요. 시스템 네임스페이스 아래의 공간
using System; System.Collection.Generic을 사용하여 System. System.Data 사용; MyCompany 사용 대리자를 명시적으로 인스턴스화하지 않음(C# 2.0의 새로운 기능)
대리자 무효 SomeDelegate(); 공개 무효 SomeMethod()                                                                                                                                               

17. 엄격한 코드 들여쓰기를 유지하세요. 탭이나 공백 등 비표준 들여쓰기를 사용하지 마세요. 권장되는 들여쓰기는 3~4 공백입니다.

18. 코드 들여쓰기와 동일한 수준에서 이 코드 줄을 주석 처리하세요.

19. 모든 댓글은 맞춤법 검사를 통과해야 합니다. 댓글의 철자가 틀리면 개발 진행이 지연됩니다.

20. 모든 클래스 멤버 변수는 클래스 상단에 선언해야 하며, 메서드 및 속성 선언과 빈 줄을 사용하여 구분해야 합니다.

                                                            public void SomeMethod2() 🎜>
public class MyClass  
           {      
           int m_Number;  
           string m_Name;  
           public void SomeMethod1();  
           public void SomeMethod2();  
           }
21. 사용되는 위치에 가장 가까운 지역 변수입니다.


22. 파일 이름은

에 해당하는 클래스 이름을 반영해야 합니다. 23. 부분 클래스를 사용하고 클래스를 다른 파일에 배포하는 경우 각 파일 이름에는 마지막에 역할이 있습니다. 전체 클래스에 파일의 구현 부분이 추가됩니다. 예:

// MyClass.cs 공개 부분 클래스 MyClass
// In MyClass.cs  
           public partial class MyClass  
           {…}  
           //In MyClass.Designer.cs  
           public partial class MyClass  
           {…}
MyClass.Designer.cs

공개 부분 클래스 MyClass
”를 새 줄에
코딩 방법:

1. 동일한 파일에 여러 클래스를 배치하지 마세요
2. . 파일은 네임스페이스 내에서만 유형을 정의해야 합니다. 한 파일에 여러 개의 네임스페이스를 사용하지 마세요
3. 한 파일에 500줄을 초과하는 코드를 작성하지 마세요(머신에서 자동으로 생성한 코드 제외)
4. 25줄을 초과하는 코드를 작성하지 마세요
5. 5개 이상의 매개변수를 사용하여 메서드를 작성하지 마세요. 여러 매개변수를 전달하려면 구조체를 사용하세요.
6. 한 줄은 80자를 초과할 수 없습니다
7. 기계 생성 코드를 수동으로 수정하지 마세요
a) 기계 생성 코드를 수정하는 경우 이 인코딩 표준에 맞게 인코딩 방법을 수정하세요.
b) 유지 관리성을 향상시키기 위해 부분 클래스 기능을 최대한 사용하십시오. (C# 2.0의 새로운 기능)
8. 매우 직관적인 내용에는 댓글을 달지 마세요. 코드 자체는 그 자체의 의미를 설명할 수 있어야 합니다. 읽을 수 있는 변수 및 메서드 이름으로 구성된 좋은 코드에는 주석이 필요하지 않습니다.
9. 댓글은 작동의 일부 전제 조건, 알고리즘 내부 정보 등만 설명해야 합니다.
10. 주석 방법을 피하세요 a) API
를 설명하는 데 충분한 외부 문서를 사용하세요.
b) 다른 개발자에게 유용한 정보만 메서드 수준 주석에 배치하면 됩니다. 🎜>11.
12 값 대신 상수를 선언하여 0과 1 이외의 값을 하드코딩하지 마세요. 일주일의 일수. 13. 읽기 전용 변수에는 const 키워드를 사용하지 마세요. 이 경우 읽기 전용 키워드

public class MyClass
public readonly int Number public MyClass( int someValue)
public class MyClass  
           {  
           public const int DaysInWeek=7;  
           pubic readonly int Number;  
           public MyClass(int someValue)  
           {  
           Number=someValue;  
           }  
           }
}                                                         tbody>

14. 평균적으로 5줄마다 하나의 어설션이 있어야 합니다.

System.Diagnostics 사용
using System.Diagnostics;  
           object GetObject()  
           {…}  
           object someObject=GetObject();  
           Debug.assert(someObject!=null);
Debug.assert(someObject!=null);

15. 모든 코드 줄은 화이트박스 테스트를 통해 검토되어야 합니다.
16. 명시적으로 직접 처리할 수 있는 예외만 포착하세요.
17. catch 문 블록에서 예외를 발생시켜야 하는 경우 catch에서 캡처한 예외(또는 예외를 기반으로 생성된 다른 예외)만 발생시켜 원래 오류가 발생할 수 있습니다. 유지되는 스택 위치입니다.

catch(예외 예외)
catch(Exception exception)  
           {  
           MessageBox.Show(exception.Message);  
           throw;//或throw exception;  
           }
                                                                                /또는 예외 발생

      }

18.
함수의 오류 코드로 반환 값을 사용하지 마세요. 19.
사용자 정의 예외 클래스
를 피하세요. 20. 예외 클래스를 사용자 정의하는 경우: a) 사용자 정의 예외 클래스가 Exception 클래스에서 상속되도록 합니다

b) 사용자 정의 직렬화 메커니즘을 제공합니다21. >기본
() 메서드가 하나의 어셈블리에 포함되어 있습니다. 22. 반드시 필요한 메소드만 공개로 정의하고 그 외
메소드는 내부로 정의하세요.
23. 어셈블리 간의 결합이 증가하므로 친구 어셈블리를 피하세요.
24. 특정 장소에서 실행되는 어셈블리에 코드를 종속시키지 마세요.
25. 애플리케이션 어셈블리(EXE 클라이언트 어셈블리)에서 코드 양을 최소화합니다. 클래스 라이브러리를 사용하여 비즈니스 논리를 포함합니다.
26. 열거 값을 명시적으로 지정하지 마세요
//正确  
           public enum Color  
           {  
           Red,Green,Blue  
           }

           //避免  
           public enum Color  
           {  
           Red=1,Green=2,Blue=3  
           }
//올바른

                                          공개 열거형 색상                
                    빨간색=1, 녹색=2, 파란색=3                            >

27. 열거 유형 지정을 피하세요
//避免  
           public enum Color:long  
           {  
           Red,Green,Blue  
           }

//
public enum Color:long { 🎜 >28을 피하세요. if 문의 경우 항상 {} 쌍을 사용하세요. 명령문이 하나만 있는 경우에도 다음 명령문 블록입니다.
29. 삼항 조건부
연산자 를 사용하지 마세요.
Bool IsEverythingOK()  
           {…}  

           //避免  
           if(IsEverythingOk())  
           {…}  

           //正确  
           bool ok=IsEverythingOK();  
           if (ok)  
           {…}
30. 함수에서 반환하는 부울 값을 조건문으로 사용하지 마세요. 반환 값을 지역 변수에 할당한 다음 테스트합니다.

Bool IsEverythingOK()                                                                        ) > /table>31. 항상 0부터 시작하는
배열을 사용하세요. 32. 멤버에 대한 참조 배열을 명시적으로 초기화하려면 항상
for 루프를 사용하세요.
public class MyClass
           {}
           const int ArraySize=100;  
           MyClass[] array=new MyClass[ArraySize];  
           For (int index=0;index {
array[index]=new MyClass();
}
<🎜>공개 클래스 MyClass<🎜> =0;index                                                         ~

33. 속성을 사용하여 공개 또는 보호 유형 멤버 변수를 대체합니다.
34. 상속된 new 연산자를 사용하지 말고 override 키워드를 사용하여 new 구현을 재정의하세요.
35. 봉인되지 않은 클래스에서는 항상 공개 및 보호 메서드를 가상으로 정의하세요.
36. 다른 언어와 상호 작용하는 경우를 제외하고는 안전하지 않은 코드를 사용하지 마세요.
37. 유형 변환을 표시하지 마세요. 다른 유형으로 안전하게 변환하려면 as 키워드 를 사용하세요.

개 dog=new GermanShepherd()
Dog dog=new GermanShepherd();
GermanShepherd shepherd=dog as GermanShepherd;
if (shepherd!=null)
{…}
GermanShepherd sheep=dog as GermanShepherd

if (shepherd!=null; )
                                                                                                  ~ 39. 공개 이벤트
멤버 변수를 제공하지 마세요. 대신 이벤트 접근자를 사용하세요.

Public class MyPublisher
{
MyDelegate m_SomeEvent;
Public event MyDelegate SomeEvent
{
add
{
m_SomeEvent+=value;
}
remove
{
m_SomeEvent-=value;
}
}
}
공개 클래스 MyPublisher                                                                추가

                                                           >                m_SomeEvent-=value;                                       >

40. 이벤트 처리
프록시를 정의하지 마세요. EventHandler 또는 GenericEventHandler를 사용하세요.
41. 트리거 이벤트를 표시하지 마세요. EventsHelper를 사용하여 이벤트를 안전하게 게시하세요.
42. 항상 인터페이스를 사용하세요.
43. 인터페이스와 클래스의 메서드와 속성 비율은 약 2:1이어야 합니다.
44. 구성원이 한 명뿐인 인터페이스는 피하세요.
45. 인터페이스에 3~5명의 멤버가 있는지 확인하세요.
46. 인터페이스의 구성원 수는 20명을 초과하지 마십시오. 실제적으로는 12명이 제한됩니다.
47. 인터페이스에 이벤트를 포함하지 마세요. 48. 추상 클래스
를 사용할 때는 인터페이스를 제공하세요.
49. 클래스 상속 구조에 인터페이스를 노출합니다.
50. 명시적인 인터페이스 구현을 사용하는 것이 좋습니다.
51. 유형이 인터페이스를 지원한다고 가정하지 마십시오. 사용하기 전에 항상 물어보세요.
SomeType obj1;  
           ImyInterface obj2;      
           /*Some code to initialize obj1,then:*/  
           obj2=obj1 as ImyInterface;  
           if(obj2!=null)  
           {  
           obj2.Method1();  
           }  
           else  
           {  
           //Handle erro in expected interface  
           }
SomeType obj1;

ImyInterface obj2; obj2=obj1 as ImyInterface; > {
> else
{
//예상 인터페이스에서 오류 처리

          }
//避免  
           string name=””;  
           //正确  
           string name=String.Empty;
52. 사용자에게 표시되는 문자열을 하드코딩하지 마세요. 자원을 사용합니다. 53. 데이터베이스 연결 문자열 등 릴리스 환경에 따라 변경될 수 있는 문자열을 하드코딩하지 마세요. 54. ""를 대체하려면 String.Empty를 사용하세요.
//를 피하세요. | =String.Empty;

55. 긴 문자열을 사용할 때는 문자열 대신 StringBuilder를 사용하세요.
56. 구조에 메서드를 제공하지 마세요
a) 매개변수화된 생성자를 사용하는 것이 좋습니다
b) 오버로드 연산자
를 사용할 수 있습니다. 표현형 멤버는 항상 표현형 생성자를 제공합니다.
58. 초기 바인딩이 가능한 경우 후기 바인딩을 사용하지 마세요.
59. 애플리케이션이 추적 및 로깅을 지원하도록 만드세요.
60. switch 문 블록에서 코드 점프를 구현하는 경우를 제외하고 goto 키워드를 사용하지 마세요.
61. 스위치 문의 기본 케이스에는 항상 어설션을 제공하세요.

int number=SomeMethod(); Trace.Writeline ("case 1:")
int number=SomeMethod();  
           swith(number)  
           {  
           case 1:
              trace.WriteLine(“Case 1:”)  
           break;  
           case 2:  
           trace.Writeline(“Case 2:”);
           break;  
           default:  
           debug.Assert(false);  
           break;  
           }
중단

사례 2 :
Trace.writeline ("Case 2:");

Break;
//Example of proper use of ‘this’  
           public class MyClass  
           {  
           public MyClass(string message)  
           {   }  
           public MyClass():this(“Hello”)  
           {   }
           }
Defaut:

Assert(false)
                break;

//Example of proper use of ‘base’  
           public class Dog  
           {  
           public Dog(string name)  
           {  }  
           virtual public void Bark(int howlong)  
           {   }  
           }
           public class GermanShepherd:Dog  
           {  
            public GermanShepherd(string name):base(name)  
           {   }  
           override public void Bark(int howLong)  
           {  
           base.Bark(howLong)  
           }  
           }
//'this'의 올바른 사용 예

public class MyClass
{
public MyClass(string 메시지)
                                                                                                  ~                         ​ >
63. 기본 클래스 생성자를 호출할 때 하위 클래스 이름 충돌을 해결해야 하는 경우가 아니면 기본 클래스의 멤버에 액세스하기 위해 기본 키워드를 사용하지 마세요.

Int CalcPower(int number,int power)  
           {  
           int result=1;  
           for (int count=1;count<=power;count++)
{
checked
{
result*=number;
}
}
return result;
}
//'base'의 올바른 사용 예 <🎜> public class Dog <🎜> { <🎜> public Dog(문자열 이름) <🎜>                                    virtual public void Bark (int Howlong)                                                                                         문자열 이름):base(이름) <🎜> > >              >64. GC.AddMemoryPressure()를 사용하지 마세요 <🎜>65. HandleCollector를 사용하지 마세요 <🎜>. Disponse() 및 Finalize() 메서드는 ".NET 구성 요소 프로그래밍" 2/e의 4장의 내용을 기반으로 합니다. <🎜>67. 성능상의 이유로 항상 확인되지 않은 상태에서 코드를 실행하지만 오버플로 또는 언더플로 작업을 방지하려면 확인된 모드를 과감하게 사용하세요. <🎜><🎜>
Int CalcPower(int 숫자,int 거듭제곱) <🎜>                                   count=1;count<=power;count++)                > 🎜>

68. 조건부 메소드를 사용하여 명시적 메소드 호출 제외 코드(#if...#endif)

69. 일반 인터페이스에서는 제약조건
을 정의하지 마세요. 인터페이스 수준 제약 조건은 강력한 입력으로 대체될 수 있는 경우가 많습니다.

public class MyClass
public class MyClass
{
[Conditional(“MySpecialCondition”)]
public void MyMethod()
{}
}
                                                                                                            }

Public class Customer
{}
//避免:
public interface Ilist where T:Customer  
           {}  

           //正确:  
           public interface IcustomerList:Ilist
공개 수업 고객  

                                                    ~ 고객
{}

//정확함:

공개 인터페이스 IcustomerList:Ilist

70 인터페이스에 메서드 관련 제약 조건을 정의하지 마세요.

위 내용은 일반적으로 사용되는 asp.net 기술 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.