Visual Studio 2008 vs 2005 또는 C# 3.0 대 C# 2.0의 새로운 기능은 무엇입니까?
-
05-07-2019 - |
문제
나는 그것을 탐색했다 C#의 숨겨진 기능 질문과 나는 내가 익숙하지 않은 기능 중 하나를 시험해 볼 것이라고 생각했다. 불행히도 나는 Visual Studio 2005를 사용하고 문제의 기능이 나중에 소개되었습니다. C# 3.0 (Visual Studio 2008)과 C# 2.0 (Visual Studio 2005)의 새로운 기능에 대한 좋은 목록이 있습니까?
해결책
이것은 포괄적 인 목록이 아니지만 C# 3.0에서 가장 좋아하는 새로운 기능 중 일부입니다.
새로운 유형의 초기화기. 이것을 말하는 대신 :
Person person = new Person();
person.Name = "John Smith";
나는 이것을 말할 수있다 :
Person person = new Person() { Name = "John Smith" };
마찬가지로 항목을 개별적으로 추가하는 대신 다음과 같이 Ienumerable을 구현하는 유형을 초기화 할 수 있습니다.
List<string> list = new List<string> { "foo", "bar" };
람다 표현식의 새로운 구문도 좋습니다. 이것을 입력하는 대신 :
people.Where(delegate(person) { return person.Age >= 21;);
나는 이것을 입력 할 수있다 :
people.Where(person => person.Age >= 21 );
내장 유형에 확장 방법을 작성할 수도 있습니다.
public static class StringUtilities
{
public static string Pluralize(this word)
{
...
}
}
이와 같은 것을 허용합니다.
string word = "person";
word.Pluralize(); // Returns "people"
그리고 마지막으로. 익명 유형. 따라서 다음과 같이 익명의 클래스를 즉시 만들 수 있습니다.
var book = new { Title: "...", Cost: "..." };
다른 팁
내가 좋아하는 몇 가지 기능 :
vs 2008은 2.0, 3.0 또는 3.5를 대상으로 할 수 있도록 다양한 버전의 .NET 프레임 워크를 대상으로합니다.
자동 속성이 좋습니다.
예를 들어:
public int Id { get; set; }
대신에:
private int _id;
public int Id {
get { return _id; }
set { _id = value; }
}
다중 표적 지원. 하나의 IDE에서 .NET 2-> .NET 3.5를 모두 빌드 할 수 있습니다.
.NET 3.0의 MS 페이지에 대한 링크는 다음과 같습니다. http://msdn.microsoft.com/en-us/library/bb822048.aspx... 그리고 C#의 경우 2008 년 : http://msdn.microsoft.com/en-us/library/bb383815.aspx
vs2008 및 .NET 3.0 아웃을 시도하지는 않았지만 링크가 도움이 될 수 있다고 생각합니다.)
Visual Studio 2008의 알려지지 않았지만 강력한 기능 중 하나는 T4 (텍스트 템플릿 변환 툴킷). T4는 Visual Studio 2008에 바로 구축 된 코드 생성기입니다.
을 체크하다 Scott Guthrie 's 블로그 게시물 Visual Studio 2008 및 .NET 3.5가 출시되었습니다. 이 게시물은 Visual Studio 2008 및 .NET 3.5가 출시 될 때 작성되었습니다. 이 게시물에는 Visual Studio 2008 및 C# 3.0의 새로운 기능에 대한 많은 링크가 포함되어 있습니다.