>  기사  >  백엔드 개발  >  C# 프로그래밍 및 Visual Studio 사용 팁(1부)

C# 프로그래밍 및 Visual Studio 사용 팁(1부)

高洛峰
高洛峰원래의
2017-02-07 10:59:531499검색

개회사에 관심이 없나요? 이제 바로 본론으로 들어가겠습니다. 10가지 C# 프로그래밍 및 Visual Studio IDE 사용 팁입니다.

1. Environment.Newline

이 속성이 플랫폼 독립적이라는 것을 알고 계셨나요? 각 플랫폼에 따라 새로운 줄 바꿈 문자를 출력할 수 있습니다.

Console.WriteLine("My Tips On ,{0}C#", Environment.NewLine);

2. 네임스페이스 별칭

긴 네임스페이스 대신 짧은 별칭을 사용할 수 있다는 것을 알고 계셨나요? 모호함을 피하기 위해 전체 네임스페이스를 제한해야 하는 필요성을 느낀 적이 있습니까? 확장된 .NET Framework 컨트롤을 사용하여 생성된 일반 라이브러리인 다음 코드 예제를 살펴보십시오.

using System.Web.UI.WebControls;
 using MyGenericLibrary.UserControls;
   
  /* Assuming that you had a Text Box control in both the namespace,
   you would have to fully qualify the class object with the
   complete namespace.To avoid that, you can use namespace alias.
   Change as below */
    
 using System.Web.UI.WebControls;
 using mc = MyGenericLibrary.UserControls;
   
 /*and then use, /*
 mc.TextBox textbox = new mc.TextBox();

3. DebuggerBrowsable 속성

모든 C# 개발자는 프로그램 디버깅 경험이 있어야 합니다. 이 속성은 디버깅하는 동안 개체 동작을 제어하는 ​​매우 강력한 기능을 가지고 있습니다. 작은 프롬프트 창에 개체를 표시하면 전용 멤버를 숨기거나 디버깅 창에서 중복되는 멤버를 표시하는 데 사용할 수 있습니다. 예를 들어 클래스 개체를 디버깅할 때 디버깅 창에서 전용 변수를 볼 수 있습니다. 이때 [DebuggerBrowsable(DebuggerBrowsableState.Never)] 속성을 사용하여 숨길 수 있습니다. 다음은 표시되는 코드입니다.

public class MyClass
 {
   private string _id;
      
   public string InternalID
   {
      get { return _id; }
      set { _id = value; }
   }
 }

다음은 이를 숨기는 코드입니다.

[DebuggerBrowsable(DebuggerBrowsableState.Never)]
 public class MyClass
 {
   private string _id;
      
   public string InternalID
   {
      get { return _id; }
      set { _id = value; }
   }
 }

4. DebuggerDisplay 속성

이 속성을 사용하면 다음을 수행할 수 있습니다. 읽기 설명의 변수 개체가 표시됩니다. 이는 다른 팀 구성원에게 향후 코드 읽기의 효율성을 제공하는 데 도움이 됩니다. 다음 코드 예제에서는 변수 값을 보여줍니다.

public class MyClass
 {
   [DebuggerDisplay("Value = {myVariable}")]
   public string myVariable = "mydisplay";
 }

5. 프로젝트용 가상 디렉터리를 생성합니다.

각 개발자가 프로젝트에 대해 로컬에서 동일한 이름의 가상 디렉터리를 생성하도록 할 수 있습니다. Visual Studio IDE 팁은 여러 C# 개발자 컴퓨터 간에 코드를 동기화하는 데 도움이 됩니다. 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택한 다음 "웹" 탭에서 "로컬 IIS 웹 서버 사용" 옵션을 선택한 다음 가상 경로를 지정합니다.

이 설정 후에 프로젝트 파일을 사용하는 모든 개발자는 로컬 컴퓨터에 동일한 이름의 가상 디렉터리를 생성하라는 요청을 받게 됩니다.

6. 프로젝트 플랫폼 변경

여기서 플랫폼은 32비트 및 64비트 환경을 의미하며, 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하면 됩니다. "속성"을 선택하고 "빌드" 탭에서 아래 그림과 같이 필요한 대상 플랫폼을 선택합니다.

C#编程和Visual Studio使用技巧(上)

7. 코드 정의 창

이 창을 사용하면 개체 정의로 빠르게 이동할 수 있습니다. 개체의 위치를 ​​정의하려면 코드 편집기에서 개체에 대해 이 기능을 사용해 보세요. 실망하지 않을 것입니다. 추가적으로 Ctrl+W, D 키 조합을 누르면 코드 정의 창이 팝업됩니다.

if (e.Item.ItemType == ListItemType.Item )
 {
   //Your code here.
 }

ListItemType에 커서를 놓고 키조합을 누르면 아래와 같은 창이 나옵니다.

C#编程和Visual Studio使用技巧(上)

그림 2 코드 정의 창

8. Null 병합 연산자

Null 병합 연산자를 사용하면 매우 간결하게 비교할 수 있습니다. Null 값은 두 개의 물음표로 표시됩니다. 예를 들어 myfunction에서 반환된 값은 null 정수 값일 수 있으며, 이 경우 병합 연산자를 사용하여 null인지 빠르게 확인한 다음 대체 값을 반환할 수 있습니다.

int myExpectedValueIfNull = 10;
int expectedValue = myfunction() ?? myExpectedValueIfNull

9. 명령문 단축키 사용

Ctrl+를 누르면 화살표 키를 사용하여 이동하고 Enter 키를 누르면 됩니다. 선택을 확인하십시오.

10. 무서운 데이터 세트 병합 오류의 근본 원인을 찾아보세요

데이터 세트 병합 오류의 원인을 찾을 수 없는 상황에 직면하신 적이 있나요? 이제 코드를 try-catch로 묶고 예외 처리 블록에서 특정 코드의 출력을 관찰하는 방법이 있습니다. 그러면 병합이 실패한 이유를 정확하게 파악할 수 있습니다.

StringBuilder error Messages = new StringBuilder();
  try
  {
       DataSet dataSet1 = populateDataSet(1);
  DataSet dataSet2 = populateDataSet(2);
    
  dataset1.Merge(dataset2);
            }
            catch (System.Data.DataException de)
            {
   foreach (DataTable myTable in dataSet1.Tables)
   {
     foreach (DataRow myRow in myTable.GetErrors())
     {
      foreach (DataColumn myColumn in myRow.GetColumnsInError())
      {
        //loop through each column in the row that has caused the error
        //during the bind and show it.
         error Messages .Append(string.Format(
         "Merge failed due to : {0}", myColumn.GetColumnError(myColumn)));
      }
     }
   }
           }

요약

이러한 C# 프로그래밍과 Visual Studio 기술을 유연하게 활용하여 코드 작성의 즐거움을 더 많이 누려보시길 바랍니다. 진행

더 많은 C# 프로그래밍 및 Visual Studio 사용 팁(1부)을 보려면 PHP 중국어 웹사이트를 주목하세요!


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