입사예정 기업이 C#을 사용한다고 해서 공부를 시작한다.
공부한것을 토대로 ASP.NET까지도 해볼 예정
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}
}
디버깅하지않고 실행 --> CTRL + F5
여기서
현재 .NET SDK에서는 .NET 6.0을(를) 대상으로 하는 것을 지원하지 않습니다
라고 에러가 나면 제일 먼저 SDK버전부터 확인하자 CMD창 들어가서 버전확인
dotnet --info
버전 안맞으면 다시 SDK다운
Console.WriteLine("Hello, world!");
Console.Write("Hello, world!");
출력문 개행의 차이 --> PRINT/PRINTLN의 차이
using System
System 네임스페이스를 현재 파일 또는 코드에 사용하기 위해 선언하는 지시문
.NET Framework에서 제공하는 기본적인 클래스와 기능을 포함
System 네임스페이스에는 Console, Math, DateTime, String 등과 같은 기본적인 타입과 클래스들이 포함되어 있습니다. 예를 들어, Console.WriteLine() 메서드는 Console 클래스의 WriteLine 메서드를 호출하여 텍스트를 콘솔에 출력하는 기능을 제공합니다. Math.Sqrt() 메서드는 Math 클래스의 Sqrt 메서드를 호출하여 제곱근을 계산합니다. DateTime.Now는 현재 시간을 나타내는 DateTime 구조체의 인스턴스를 가져옵니다. 이러한 기능들을 using System;을 통해 간단하게 사용
-> JAVA에서 System.out.println();
의 System과 비슷한 역할인듯
네임스페이스(namespace)는 C#에서 클래스, 구조체, 인터페이스 등의 타입을 그룹화하는 데 사용되는 개념입니다. 네임스페이스는 중복된 타입 이름을 방지하고 코드의 구조를 조직화하여 유지보수와 코드 관리를 용이하게 합니다.
네임스페이스는 도트(.)를 사용하여 계층적으로 구성될 수 있습니다. 예를 들어, System은 .NET Framework의 최상위 네임스페이스이고, 그 하위에는 System.IO, System.Collections, System.Data와 같은 하위 네임스페이스들이 있습니다. 네임스페이스를 사용하면 타입의 이름을 전체 네임스페이스 경로와 함께 지정하여 중복을 피할 수 있습니다.
-->최상단 using System;을 선언하면 하위 namespace들은 선언하지 않아도 사용가능
using System; // 기본적인 C# 기능을 포함하는 System 네임스페이스
using System.Collections; // 컬렉션 관련 기능을 제공하는 네임스페이스
using System.IO; // 파일 및 디렉토리 조작 기능을 제공하는 네임스페이스
using System.Net; // 네트워크 통신 관련 기능을 제공하는 네임스페이스
using System.Linq; // LINQ(Language Integrated Query) 쿼리 기능을 제공하는 네임스페이스
정수 자료형
양수 자료형
실수자료형
float와 demical은 접미사로 f와 m을 붙여줘야함, C도 실수기본형이 double
int a = 81, b = 27;
Console.WriteLine("{0} + {1} = {2}", a, b, a + b); // 81 + 27 = 108
Console.WriteLine("{1} - {0} = {2}", a, b, b - a); // 27 - 81 = -54
서식문자열의 종류
int a = 12345678;
double b = 12.345678;
Console.WriteLine("통화 (C) . . . : {0:C}", a);
//통화 (C) . . . : \12,345,678
Console.WriteLine("10진법 (D) . . : {0:D}", a);
//10진법 (D) . . : 12345678
Console.WriteLine("지수 표기법 (E): {0:E}", b);
//지수 표기법 (E): 1.234568E+001
Console.WriteLine("고정 소수점 (F): {0:F}", b);
//고정 소수점 (F): 12.35
Console.WriteLine("일반 (G) . . . : {0:G}", a);
//일반 (G) . . . : 12345678
Console.WriteLine("숫자 (N) . . . : {0:N}", a);
//숫자 (N) . . . : 12,345,678.00
Console.WriteLine("16진법 (X) . . : {0:X}", a);
//16진법 (X) . . : BC614E
Console.WriteLine("백분율 (P) . . : {0:P}", b);
//백분율 (P) . . : 1,234.57%
int a = 500;
float b = 60.44f;
string c = a.ToString();
string d = b.ToString();
Console.WriteLine("a={0}, b={1}, c={2}, d={3}", a, b, c, d);
-> a=500, b=60.44, c=500, d=60.44
string e = "123";
string f = "123.456";
int g = int.Parse(e);
float h = float.Parse(f);
Console.WriteLine("e={0}, f={1}, g={2}, h={3}", e, f, g, h);
-> e=123, f=123.456, g=123, h=123.456
수를 문자열로 변환 -> .ToString()
문자열을 수로 변환 -> .Parse()
const int a = 50;
JAVA와 마찬가지로 선언과 동시에 초기화 해줘야함