다른 언어와 C# 비교
업데이트: 2007년 11월
C#은 다른 .NET Framework 프로그래밍 언어와 공통적인 여러 가지 기능을 제공하는 최신의 구성 요소 지향 언어입니다. C#에는 약 80개의 키워드만 있으며 그 대부분은 C, C++, Java, Visual Basic 등을 사용했던 개발자라면 이미 익숙한 것들입니다. 달라진 구문이 있지만 그 차이는 일반적으로 크지 않습니다.
Visual C# Express Edition 편집 환경에서는 IntelliSense를 사용하여 여러 가지 복잡한 작업을 자동으로 수행하므로 C#을 쉽게 배울 수 있습니다. C# 편집기에서는 사용자의 코드를 자동으로 깔끔하게 유지하고, 필요한 메서드나 기타 속성을 제시하며, 오류 가능성이 있는 부분을 코드 입력과 동시에 강조 표시합니다.
Hello, World!
C# 프로그램에 대한 개념을 빨리 파악할 수 있도록 아래에서는 유명한 "Hello, World!" 응용 프로그램을 서로 다른 여러 언어로 제시합니다.
// C# Hello, World!
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
// C++ Hello, World!
#include <iostream>
using namespace std;
static int main()
{
cout << "Hello World!" << endl;
return 0;
}
' Visual Basic.NET Hello, World!
Module Module1
Sub Main()
Console.WriteLine("Hello, World!")
End Sub
End Module
// Java Hello, World!
class HelloWorldApp
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
다른 언어에 익숙한 프로그래머를 위해 다음 단원에서는 C#의 가장 중요한 차이점을 설명합니다.
C#과 C 및 C++ 비교
메모리는 가비지 수집 시스템에서 관리합니다. new에 대한 호출을 실행 취소하기 위한 delete 메서드가 없습니다.
헤더 파일(.h)이 사용되지 않거나 필요하지 않습니다. 헤더 파일에 저장되던 정보는 이제 어셈블리의 일부로 저장됩니다.
C# 프로그램에서는 클래스 정의를 닫는 중괄호 뒤에 세미콜론을 사용할 필요가 없습니다.
Main 메서드가 대문자로 표시되고 정적 클래스의 멤버로 사용됩니다. Main은 int 또는 void를 반환합니다.
모든 프로그램에는 Main 메서드가 있어야 합니다. 그렇지 않으면 프로그램이 컴파일되지 않습니다.
switch 문에는 break 문이 반드시 있어야 합니다.
조건은 부울이어야 합니다.
컴파일러에서 기본값을 할당합니다. 참조 형식의 기본값은 null이고, 값 형식의 기본값은 0입니다.
C#과 Visual Basic 비교
줄 바꿈 대신 세미콜론이 사용됩니다.
C#은 대/소문자를 구분합니다. 예를 들어, Main 메서드는 대문자로 표시됩니다.
조건은 부울이어야 합니다.
C#과 Java 비교
Main 메서드가 대문자로 표시됩니다.
값과 참조 형식 사이에 boxing 및 unboxing 변환이 허용됩니다. 래퍼 형식을 만들 필요가 없습니다.
Java의 final 클래스는 C#에서 봉인 클래스입니다.
C#은 속성을 지원합니다.
C# 메서드는 기본적으로 비가상 메서드입니다.
C#은 컴파일러에 대한 추가 정보를 포함하기 위한 특성을 지원합니다.