개회사에 관심이 없나요? 이제 바로 본론으로 들어가겠습니다. 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비트 환경을 의미하며, 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하면 됩니다. "속성"을 선택하고 "빌드" 탭에서 아래 그림과 같이 필요한 대상 플랫폼을 선택합니다.
7. 코드 정의 창
이 창을 사용하면 개체 정의로 빠르게 이동할 수 있습니다. 개체의 위치를 정의하려면 코드 편집기에서 개체에 대해 이 기능을 사용해 보세요. 실망하지 않을 것입니다. 추가적으로 Ctrl+W, D 키 조합을 누르면 코드 정의 창이 팝업됩니다.
if (e.Item.ItemType == ListItemType.Item ) { //Your code here. }
ListItemType에 커서를 놓고 키조합을 누르면 아래와 같은 창이 나옵니다.
그림 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 중국어 웹사이트를 주목하세요!