문제

제가 읽어 스택에서 오버플로우가 있는 어떤 사람들로 변환하여 C#2.0C#3,하지만 정말 그럴 가치가?

나는 프로젝트 수행에 75%가기 전에 유지 관리 단계입니다.나는 나 자신에게 그것을 가치가 있으면을 전환하는 C#3.0?

업데이트:

프로젝트는 웹 인터페이스는 지금은 그렇게 들어가기 전에 유지보수 단계가 개발하는 웹 일(모두 수행되었 내부 목적으로 윈도우 폼).가장 부속 될 것입니다 resused(back-end).대부분의 사람들이 말한 그것의 가치가 그것 때문에 과거에 그것은 이미에서의 75%를...그러나 이제 당신은 아직 생각하지 않습니까?

무엇이 완료 되었습니다 마지막으로

마지막으로부터 우리는 지속적으로 프로젝트는 웹 인터페이스 우리는 것입 업데이트하 3.5 를위한 기회를 제공합니다.해주신 모든 분들께 정말 감사드려요한 모든 입력이 있습니다.

도움이 되었습니까?

해결책

No,나는 권하지 않습니다.내가 조언을 시작 3.5 새로운 프로젝트에만 사정이 없는 한,특별한 이유지 않습니다.당신이 어떤 혜택이 없습에서 3.5 의해 단지를 다시 컴파일하기 때문에 코드가 이미 작성(나의 75%이상)입니다.

마이그레이션해야 하는 경우 3.5 에서 미래,당신은 쉽게 할 수 있습니다.물론 당신은 코드에 2.0 스타일이지만,무엇을 할 수행합니다.

  • 될 보수적인,하지 말라가지 않으면 당신은 그것을 필요합니다.
  • 는 응용 프로그램 75%C#2.0 25%C#3.0 가 정확하지 않게 좋은 짐승을 유지합니다.100%C#2.0 응용 프로그램을 더 확실히 유지할 수 있습니다.

하려고 할 때 시작하는 새로운 프로젝트,모든 수단에 의해 스위치!새로운 프레임워크 버전은 매우 흥미롭고 스위치가 뜨겁게 권장합니다.

다른 팁

설명
C#3.5 이 존재하지 않습니다.가 있 C#1.0,C#2.0C#3.0.

그런 다음 거기입니다.NET1.0,.NET1.1,.NET2.0,.NET3.0 다.NET3.5.

우리는 혼동하지 않습니다.

C#3.0 대 C#2.0
지금은 C#3.0 가치가 있습니다.내가 말할 것으로의 존재를 확장 방법 및 람다 식의 대답은 예입니다.이러한 두 가지 기능들에 대한 읽기 쉽고 빠르게 쓰는 코드입니다.를 추가하는 자동차-구현 속성,LINQ,그리고 부분적 방법,그리고 C#3.0 자체가 유리한 이동합니다.

그러나,그것은 도시를 이동하는 기존 프로젝트입니다.당신은 무게 장점과 단점,특히 관련하여 새로운 버그와 불안정성,결정하기 전에 기존의 마이그레이션 작업.새 프로젝트에 대해 말할 것으로 시작 C#3.0.

이 있 C#3.5 원하는 기능을 심하게는 이 단계에서?:)

는 경우 그것은 LINQ,할 수 있습 제공 LINQBridge try..스튜디오의 멀티-타겟팅 및 LINQBridge,당신은 쓸 수 있는 지역(LINQ 개체)쿼리를 사용하는 전체 전력의 C#3.0 컴파일러 그리고 아직 귀하의 프로그램을 필요로 할 것이 Framework2.0.

나는 생각이 많이 올 것이 아래로 귀하의 개인 스타일입니다.이럴의 가장 큰 특징 C#3.5 정말로 다음

  1. 람다 식
  2. LINQ
  3. 방법 확장

내 OO 코드는 여전히 보이는 경향이 비트 기능을 지향합니다.따라서 볼 3.5 로 큰 이점이고 그것은 확실히 가치가 업그레이드합니다.

무엇이 더 나은 사용하는 것이 가능하 3.5 컴파일러를 대상 CLR2.0.이것은 당신을 배포 기반으로 2.0 을 설치하(대 3.0/3.5 설치)을 이용하여 새로운 framework.위의 모든 수행할 수 있습에서 이 시나리오를 하고자 하는 경우 추가 적절한 유형으로 귀하의 프로그램입니다.

내 생각,좋은 이유가 없다하지 전환 3.5.

진짜 살인자 기능은 당신이 계속 할 수 있는 대상이 이전 버전의 런타임(2.0+)을 사용하는 동안 모든 새롭고 향상된 기능을 제공합니다.그래서 사용할 수 있는 새로운 람다 식 extension 방법을 익명 형식,그리고 다른 모든 좋은 물건입니다.는 경우와 귀하의 고객이 여전히 주로 사용하여 2.0 프레임워크를 계속할 수 있습니다 대상으로 이전합니다.

(사용하지 않는 모든의 클래스 부터 3.5 프레임워크가 있는 경우를 대한 런타임 versions.)

개인적으로,내 생각을 하고 있다면 데스크탑 GUI 응용 프로그램으로,당신의 최선의 방법은 사용하 3.0 혹 3.5framework,이후 WPF 은 최고의 사용자 인터페이스 라이브러리가 함께 일(롱).

다른 한편으로는 경우에,당신은 이미 작성의 대부분의 GUI 를 WinForms,다음에 관심이 있을 수도 있습니다 3.5 프레임워크 허용하는(제한)도 WinForms 및 WPF GUI 요소입니다.유지할 수 있습니다 작업을 이미 수행지만,추가 몇 가지 좋은 무기고,어디든지 그것이 의미가,WPF 제어합니다.

다른 편리한 기능의 3.5framework 은"컬렉션 이니셜라이저".이 체크아웃:

var myDictionary = new Dictionary<String, String> {
   { "key-1", "value-1" },
   { "key-2", "value-2" },
   { "key-3", "value-3" },
};

깔끔한,huh?

나는 그것을 좋아했다 조금 더 나은 경우 조금 더 JSON-니다.하지만 그것은 매우 편리한 기능을 수 있습니다.

어떤할 수 있는 이벤트 대상에 대한 코드를 2.0runtime!

프로젝트가 거의 완료되면,당신은 아마에서 혜택한 새로운 기능의 3.5.새 프로젝트에 대해,그것은 확실히 가치가 있습니다.

그것은 정말에 따라 프로젝트는 것이 의도와 그것이 무엇입니다.

그것이 안전할 것이라고 추측하다.NET Framework2.0 이에서 더 많은 컴퓨터보다 3.5 버전.

또한,해야 할 것이 있습니다.NET3.5 에서 사용할 수 없습니다 2.0(과 같은 LINQ)?는 경우가 많이 다루고 및 데이터 쿼리,나는 스위치입니다.하지만,다시 따라 고객에 당신을 유지하도록 이 프로그램를 위한 가까운 미래에 증가할 것입니다.

에서 기술적인 관점,그것은 모두 프레임워크 버전 2 고 그것의 아주 작은 노력을 달성했다.의 차이 2.0,3.0,3.5 은 추가적인 코드 라이브러리 일부 컴파일러 구문 설탕이다.

그것은 당신을 좋아하지 않을 변경할 필요 아무것도;를 대상으로 framework3.5 당신은 더 많은 옵션이 있습니다.

에서 팀의 관점:네 그것은 가치가있다.고 싶어 하는 사람은 아무도 없 작품에서는 오래된 코드 기지.에 있는 동안 열의 개발,당신은 잘 활용하는 가장 현재 안정적인 기술입니다.

그것은 정말 무엇에 따라 달라집해야 할 수 있습니다.는 경우 프로젝트에 필요한 람다 식 당신은 쿼리를 개체는 명확한 구문을 살펴봐야 3.0.

나는 현재 독 C#에 깊이 존 스키트,그리고 그는 접근 방식의 솔루션에서는 C#1.15 다음,진화 솔루션을 묘사하는 새로운 유용한 기능은 당신이 2.0 및 3.0.이 형식의 진행이 될 것이 완벽한 것을 의미하는 당신의 질문에 대답합니다.책 읽기를 너무 잘 그래서 내가 찾는 나를 통해 얻습니다.

당신은 무게는 비용과 혜택입니다.당신이하지 않는 충분한 정보를 제공에 대해 귀하의 프로젝트할 수 있도록 조언 여기에 당신을,그러나 생각해 보십시오:

  • 비용의 변환이 매우 작습니다.C#3.0 은 거의 완전히 뒤로 와 호환 2.0 에서 실행 framework2.0
  • 혜택은 또한 매우 작은 경우 코딩은 거의 완료,하지만 에서 성장 긴 실행됩니다.새로운 기능이 있을 수 있습을 구현하는 미래에는 훨씬 쉽게 구현을 사용하여 Linq,예를 들어.

했 변환됩니다.주로하기 때문에 명확한 구문에서는 람다 식 코드를 쉽게 따를 것(나를 위해 어쨌든).

---끝---이력서 하게 사용할 수 있는 새로운 기능 3.5 스냅으로 꽤 몇 가지로 표시 refactoring 제안에---끝---이력서.같은 도구를 사용하여 만드는 이러한 전환할 수 있습니다.

3.5 반 2.0,그래서 당신은 문제없이 점프를 직접 3.5.

나는...해가 없다 그리고 당신은 몇 가지 방법이 두 가지에서 혜택한 새로운 기능

내가 이해하지 않는 모든 사람들이 당신을 말하지 않습니다..NET2.0 은 현재(CLR)runtime..NET3.0 다.NET3.5 에서 모두 실행 2.0runtime.이동니다.NET3.5 을 얻 C#3.0 기능은 그대로 변경의 문제는 하나의 드롭다운 목록에서 귀하의 프로젝트 속성입니다.(하고 확인,배포하 3.5 런타임의 대상의 컴퓨터를 사용할 경우 일부 3.5 와 같은 특징 LINQ,etc.설치하는 경우에는 3.5 문제입니다 그것은 쉽지 않은 일이 대답합니다.)

나지 않을 변경하지 않으면 아무것도 좋은 이유가 있는 그렇즉버그가 있는 작업할 수 없습니다-주변에 2.0.

업그레이드 프레임워크 등에서 늦은 시점에서 프로젝트를 일으킬 가능성이 어떤 문제는 당신이 정말로 필요하지 않습니다.

이 있는 경우에는 확장 프로젝트,그것은 좋은 일이 될 수도 있습을 지금 스위치 최신 버전입니다.순,그렇지 않으면 사는 것이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top