>  기사  >  백엔드 개발  >  C# 버전

C# 버전

PHPz
PHPz원래의
2024-09-03 15:02:35473검색

C#은 개발자에게 다양성과 강력한 기능을 제공하기 위해 Microsoft에서 만든 고급 프로그래밍 언어입니다. 여러 번의 반복을 거쳐 각각 개선 사항과 새로운 기능을 추가하여 더욱 효율적이고 사용자 친화적으로 만들었습니다. 이러한 변화는 개발자가 최신 소프트웨어 애플리케이션을 쉽게 구축하는 데 도움이 되었습니다. C# 1.0부터 최신 버전인 C# 10.0까지 이 문서에서는 가장 중요한 발전과 소프트웨어 개발 세계에 미치는 영향을 안내합니다. C#의 잠재력을 최대한 활용하려는 개발자에게는 이러한 변화를 이해하는 것이 필수적입니다.

C# 버전

여기에서는 C# 버전에 대해 논의하겠습니다. C# 버전은 다음과 같습니다.

1. C# 버전 1.0

이 버전은 Java와 같습니다. 비동기 기능과 일부 기능이 부족합니다. 이번 릴리스의 주요 기능은 다음과 같습니다

클래스: 객체를 생성하는 데 사용되는 청사진입니다.

  • 파일당 하나의 공개 클래스만 있을 수 있습니다.
  • 댓글은 줄의 시작이나 끝 부분에 나타날 수 있습니다.
  • 파일에 공개 클래스가 있는 경우 파일 이름은 공개 클래스 이름과 일치해야 합니다.
  • 패키지 설명문이 있는 경우 첫 번째 줄에 있어야 합니다.
  • import 문은 패키지 문(있는 경우)과 클래스 선언 사이에 있어야 합니다.
  • package 또는 import 문이 없는 경우 클래스 선언은 소스 코드 파일의 첫 번째 줄이어야 합니다.
  • import 및 package 문은 소스 코드 파일 내의 모든 클래스에 적용됩니다.
  • 공개 클래스가 없는 파일의 이름은 파일의 클래스 이름과 일치할 필요가 없습니다.

코드:

// declaring public class
public class Test
{
// variable
public int a, b;
// member function
public void display()
{
WriteLine("Class in C#");
}
}

구조: Struct에서는 단일 변수 아래에 다양한 데이터 유형을 저장할 수 있습니다. 구조체에서 사용자 정의 데이터 유형을 사용할 수 있습니다. 이를 정의하려면 struct 키워드를 사용해야 합니다.

코드:

using System;
namespace ConsoleApplication {
// structure
public struct Emp
{
// different data types
public string Name;
public int Age;
public int Empno;
}
class Geeks {
// Main Method
static void Main(string[] args)
{
// Declare P1 of type Person
Person P1;
// P1's data
P1.Name = "Ram";
P1.Age = 21;
P1.Empno = 80;
// Displaying the values
Console.WriteLine("Data Stored in P1 is " +
P1.Name + ", age is " +
P1.Age + " and empno is " +
P1.empno);
}
}
}

인터페이스:

  • 인터페이스는 수업 계약으로 사용됩니다.
  • 모든 인터페이스 메소드는 암시적으로 공개적이고 추상적입니다.
  • 모든 인터페이스 변수는 공개 정적 최종 변수입니다.
  • 정적 메서드는 허용되지 않습니다.
  • 인터페이스는 여러 인터페이스를 확장할 수 있습니다.
  • 클래스는 여러 인터페이스를 구현할 수 있습니다.
  • 인터페이스를 구현하는 클래스는 인터페이스의 모든 메소드를 정의하거나 추상으로 선언해야 합니다.

리터럴: 변수에서 사용하는 값입니다. 이는 상수 값과 같습니다.

코드:

class Test {
// Main method
public static void Main(String []args)
{
int a = 102;
// octal-form literal
int b = 0145
;
// Hexa-decimal form literal
int c = 0xFace;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
}
}

대표자: 이것은 포인터와 같습니다. 다른 메소드를 보유하는 참조형 변수입니다.

2. C# 버전 1.2

이번 버전에서는 일부 개선이 이루어졌습니다. 이 버전에서는 표현식이 거짓이 될 때까지 각 블록을 실행하는 각 루프에 대해 추가했습니다.

3. C# 버전 2.0

이 버전에서는 아래의 고급 기능이 추가되었습니다.

제네릭: 제네릭 프로그래밍은 나중에 지정할 유형으로 알고리즘을 작성한 다음 매개변수로 제공되는 특정 유형에 대해 필요할 때 인스턴스화하는 컴퓨터 프로그래밍 스타일입니다.

익명 방식: 공백 방식입니다. 이는 대리자 키워드를 사용하여 정의됩니다.

  • Nullable 유형: 이번 릴리스 이전에는 변수를 null로 정의할 수 없었습니다. 그래서 이번 릴리스에서는 이를 극복했습니다.
  • 반복자
  • 공분산과 반공분산
  • Getter/setter 별도 접근성: 값을 가져오고 설정하는 데 getter setter를 사용할 수 있습니다.

4. C# 버전 3.0

이 버전은 C#을 강력한 프로그래밍 언어로 만들었습니다.

  • 객체 및 컬렉션 초기화: 이를 통해 생성자를 호출하지 않고도 모든 필드에 액세스할 수 있습니다.
  • 부분 방법: 이름에서 알 수 있듯이 시그니처와 구현이 별도로 정의됩니다.
  • Var: var 키워드를 사용하여 모든 변수를 정의할 수 있습니다.

5. C# 버전 4.0

이 버전에는 몇 가지 흥미로운 기능이 도입되었습니다.

동적 바인딩: 이는 메서드 재정의와 같습니다. 여기서 컴파일러는 호출할 메소드를 결정하지 않습니다.

코드:

public class ClassA
{
public static class superclass
{
void print()
{
System.out.println("superclass.");
}
}
public static class subclass extends superclass
{
@Override
void print()
{
System.out.println("subclass.");
}
}
public static void main(String[] args)
{
superclass X = new superclass();
superclass Y= new subclass();
X.print();
Y.print();
}
}
  • 명명/선택 ​​인수
  • 일반 공변 및 반공변
  • 내장형 Interop 유형

여기서 가장 큰 특징은 키워드 동적이었습니다. 런타임 시 컴파일러를 재정의합니다.

6. C# 버전 5.0

이 버전에는 비동기 프로그래밍을 위한 두 가지 새로운 모델이 추가되었습니다.

비동기 및 대기

이를 통해 컨텍스트에 대한 정보를 쉽게 검색할 수 있습니다. 이는 장기 실행 작업에 매우 유용합니다. 이 비동기에서는 키워드 wait를 활성화합니다. Wait 키워드의 도움으로 모든 것이 비동기화됩니다. 따라서 키워드가 wait될 때까지 동기적으로 실행됩니다.

7. C# 버전 6.0

이 버전에는 아래 기능이 포함되어 있습니다

  • 정적 가져오기
  • 표정있는 몸매의 멤버
  • 널 전파자
  • catch/finally 블록에서 대기
  • getter 전용 속성의 기본값
  • 예외 필터
  • 자동 속성 초기화
  • 문자열 보간
  • 운영자 이름
  • 인덱스 초기화

8. C# 버전 7.0

이 버전에는 다음과 같은 장점이 있습니다

출력 변수: 이 변수는 메소드가 여러 값을 반환해야 하는 경우 기본적으로 사용됩니다. out 키워드는 인수에 전달하는 데 사용됩니다.

다른 중요한 측면은

  • 튜플과 분해.
  • 현지인을 참고하고 반품하세요.
  • 삭제: 쓰기 전용으로 준비된 변수입니다. 기본적으로 지역 변수를 무시하는 데 사용됩니다.
  • 이진 리터럴 및 숫자 구분 기호.
  • 표현 던지기
  • 패턴 일치: 모든 데이터 유형에 사용할 수 있습니다.
  • 로컬 함수: 이 함수를 사용하면 메서드에 이미 정의된 메서드를 본문에 선언할 수 있습니다.
  • 확장된 표정의 멤버.

9. C# 버전 8.0

2019년에 출시된 C# 8.0에는 코드 안전성을 향상시키는 중요한 기능인 nullable 참조 유형이 도입되었습니다. 이를 통해 개발자는 코드에 주석을 달아 변수가 null 값을 보유할 수 있는지 여부에 대한 의도를 표현할 수 있으므로 컴파일 타임에 null 참조 예외를 포착하는 데 도움이 됩니다. 또한 C# 8.0은 비동기 스트림과 같은 개선 사항을 제공하여 비동기 및 반응형 애플리케이션 개발을 단순화하고 패턴 일치를 향상시켰습니다. 이러한 기능을 통해 코드의 안정성, 읽기 쉽고 효율성이 향상되어 C# 8.0은 최신 소프트웨어 개발을 위한 언어 발전의 중요한 단계가 되었습니다.

10. C# 버전 9.0

2020년에 출시된 C# 9.0에서는 언어가 크게 향상되었습니다. 눈에 띄는 기능은 레코드 유형을 도입하여 내장된 값 평등, 불변성 및 패턴 일치를 제공하여 데이터 클래스 생성을 단순화한 것입니다. 또한 컴파일 타임에 자동 코드 생성을 지원하는 소스 생성기를 도입하여 코드 생성 및 분석을 향상시켰습니다. 또한 C# 9.0에서는 새로운 기능으로 패턴 일치를 개선하고 함수 포인터 및 최상위 명령문에 대한 지원을 추가하여 코드를 더욱 간결하고 읽기 쉽게 만들었습니다. 이러한 변경으로 개발자 생산성과 코드 안전성이 향상되어 C#을 현대적이고 다양한 프로그래밍 언어로 굳건히 자리 잡았습니다.

11. C# 버전 10.0

C# 버전 10.0은 2021년 11월에 출시된 최신 C# 프로그래밍 언어 버전입니다. 여기에는 더욱 효율적이고 사용하기 쉽게 만드는 여러 가지 새로운 기능과 개선 사항이 포함되어 있습니다. C# 10.0의 몇 가지 주목할만한 기능은 다음과 같습니다.

  • 전역 사용: 이 기능을 사용하면 개발자가 전체 프로그램에 대한 전역 지시문을 정의할 수 있습니다.
  • 파일 범위 네임스페이스: 이 기능을 사용하면 개발자는 파일 수준에서 네임스페이스를 정의할 수 있으므로 코드를 더 쉽게 구성하고 이름 충돌을 피할 수 있습니다.
  • 향상된 람다 지원: C# 10.0에는 향상된 람다 표현식이 도입되어 개발자가 더 짧고 간결한 코드를 작성할 수 있습니다.
  • 보간된 문자열을 형식 문자열로: 이 기능을 사용하면 개발자는 보간된 문자열을 형식 문자열로 사용하여 문자열 형식 지정 프로세스를 단순화할 수 있습니다.
  • 향상된 패턴 일치: C# 10.0에는 패턴 일치가 더욱 강력하고 유연해졌습니다.
  • .NET 런타임의 새로운 기능: C# 10.0에는 ARM64 지원 및 JIT 컴파일 성능 향상과 같은 .NET 런타임의 새로운 기능도 포함되어 있습니다.

12. C# 버전 11.0

C# 11에는 원시 문자열 리터럴, 일반 수학 지원, 일반 특성, UTF-8 문자열 리터럴, 문자열 보간 표현식의 줄 바꿈, 목록 패턴, 파일 로컬 유형, 필수 멤버, 자동 기본 구조체 등 여러 가지 새로운 기능이 도입되었습니다. Span에 대한 패턴 일치 상수 문자열, 확장된 범위 이름, 숫자 IntPtr, 참조 필드, 범위가 지정된 참조, 대리자로의 향상된 메서드 그룹 변환 및 일곱 번째 경고 웨이브. 이러한 추가 사항은 언어의 다양성, 성능 및 개발자 경험을 향상시켜 소프트웨어 개발을 위한 향상된 도구와 기능을 제공하는 것을 목표로 합니다.

그래서 모든 버전에는 개발자가 복잡한 문제를 효율적인 방식으로 해결하는 데 도움이 되는 C#의 새로운 기능이 포함되어 있습니다.

위 내용은 C# 버전의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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