전체 글75 C# 쓰레드 1 안녕하세요! 게임개발자가 되기위해 공부하고있는 구구입니다. 오늘은 C#의 쓰레드에 대해 알아보도록 하겠습니다. 프로그램 - 실행되기를 기다리는 코드(명령어)의 집합 - 보조기억장치(HDD, SSD)에 존재 프로세스 - 현재 실행중인 프로그램 - 스케줄링 : 생성 > 준비 > 실행 > 대기 . . . > 종료 - 멀티태스킹(스케줄링 과정에서 어떠한 프로그램이 대기상태일때 다른 프로그램을 실행하고 이러한 과정의 연속) - 프로세스는 프로그램에 사용되는 데이터, 메모리, 스레드 등으로 구성 실행 중 - 보조 기억장치에 있던 프로그램이 메모리(RAM)에 적재되어 있고 프로세서가 실행 or 실행 예정인 상태 프로세서 - 하드웨어관점 : CPU(중앙연산처리장치) - 소프트웨어관점 : 인터프리터, 컴파일러, 어셈블러.. 2021. 12. 26. C# 파일처리 안녕하세요! 게임개발자가 되기위해 공부하고있는 구구입니다. 오늘은 C#의 파일처리에 대해 알아보도록 하겠습니다. 스트림(Stream) - 파일, 네트워크 등에서 사용 - File & Directory 클래스 - File 클래스는 static속성 Path를 만드는 법 string path = ""; path = Directory.GetCurrentDirectory(); path += "\\a.txt"; 우선 path를 만들어주고 GetCurrentDirectory();를 이용해서 현재 작업하는 곳의 주소를 불러옵니다. 거기에 \\a.txt라는 말을 추가해줍니다.(이렇게 되면 실제로는 \a.txt 만 추가됨) System.IO - 파일과 데이터 스트림에 읽고 쓸 수 있게 하는 형식 - 기본 파일과 디렉터리 .. 2021. 12. 25. C# LINQ 안녕하세요! 게임개발자가 되기위해 공부하고있는 구구입니다. 오늘은 C#의 LINQ에 대해 알아보도록 하겠습니다. LINQ(Language-Integrated Query) - 쿼리 기능 - 큰 데이터가 많이 모여있는 경우 사용 - from : 어디에서 찾을수 있는 것인지 from 범위변수 in 데이터 원본 - where : 조건이 무엇인지 where 조건식 - select : 어떤 것을 가져올 것인지(결과를 선택), 특정형식으로 변환 가능 select 범위변수 ex) var QueryData = from data in arrStudents where data._id > 200 && data._kor > 50 select new { id = data._id, name = data._name, total = .. 2021. 12. 24. C# 람다식 안녕하세요! 게임개발자가 되기 위해 공부하고 있는 구구입니다. 오늘은 C#의 람다식에 대해 알아보도록 하겠습니다. 람다식 (매개변수) => {함수 내부(식)}; //=>(람다연산자) ex) (str) => {Console.WriteLine(str);}; da = (a) => {return a+a;}; - 익명 메소드 - 메소드와 동일하게 입력(파라미터), 출력(리턴) 존재 람다식의 종류 식 람다(Expression Lambda) : 람다연산자(=>) 옆에 식만 있을 경우 문 람다(Statement Lambda) : 람다연산자(=>) 옆에 중괄호{}를 쓰고 그 안에 내용을 적어넣음. 코딩을 보면 저번시간에 배운 delegate가 나옵니다. 각각 string이 매개변수인 것과 int가 매개변수인 것이 있습니.. 2021. 12. 23. C# 델리게이트&이벤트 안녕하세요! 게임개발자가 되기위해 공부하는 구구입니다. 오늘은 C#의 델리게이트와 이벤트에 대해 알아보도록 하겠습니다. 델리게이트(Delegate) 접근제한자 delegate 리턴형 식별자(파라미터); //식별자 = 함수이름 ex) public delegate int DelgateFunc(int a); - 대리자(메소드 참조형) - 메소드의 틀을 만들어 소통 - 클래스간 통신에 활용 - delegate의 타입과 메소드의 타입이 일치할때 delegate할당이 가능 - 선언시 클래스와 같은 위치 - Delegate도 일반화() 가능 Delecate 인스턴스화 - Delegate 타입의 참조변수를 선언하고 메소드 할당 ex) DelegateFunc delegateFunc = new DelegateFunc(Ad.. 2021. 12. 22. C# 예외 처리 안녕하세요! 게임개발자가 되기위해 공부하고 있는 구구입니다. 오늘은 C#의 예외처리에 대해 알아보도록 하겠습니다. 예외처리 - 프로그램 발생시 예외가 발생할 수 있음.(ex) 배열의 범위를 넘어간 index를 호출 - 해당 오류에 의해 시스템이 비정상적으로 종료하는 것을 막기위해 예외처리 try ~ catch 키워드 - 프로그램의 안정성 - try에는 예외를 발생시킬 수 있는 코드가 작성 - catch에는 예외가 발생했을때의 처리 코드 - catch를 쓸때는 괄호에 예외와 같은 타입의 참조변수를 선언해야 함. try안에 inputNum은 ReadLine에 의해 받은 데이터를 int형으로 캐스트한 것인데 만약 받은 데이터가 정수가 아니라면 오류가 발생할 수 있습니다. 따라서 catch를 이용해서 자료형이 .. 2021. 12. 21. C# 일반화 프로그래밍 2 안녕하세요! 게임개발자가 되기위해 공부하고있는 구구입니다. 오늘은 어제에 이어 일반화 프로그래밍에 대해 공부하도록 하겠습니다. 일반화 컬렉션(Collection Generic) - 컬렉션의 Boxing과 Unboxing 단점을 해결 - List - Queue - Stack - Dictionary 일반화 컬렉션을 사용하려면 using System.Collections.Generic; 를 입력해줘야합니다. 우선 일반화 컬렉션에 대해 설명하기 앞서 대부분의 방식이 앞서 배웠던 그냥 컬렉션과 유사한점이 많기 때문에 해당 내용을 공부했던 부분을 링크로 먼저 걸어두겠습니다. C# 컬렉션 1 https://gugugame.tistory.com/entry/C-%EC%BB%AC%EB%A0%89%EC%85%98 C# 컬렉.. 2021. 12. 20. C# 일반화 프로그래밍 1 안녕하세요 게임개발자가 되기위해 공부하고있는 구구입니다. 오늘은 C#의 일반화 프로그래밍에 대해 알아보도록 하겠습니다. 일반화(Generic) - 클래스, 함수 일반화 가능 - 키워드 - 데이터 형식을 일반화 하여 프로그래밍함.(자료형을 미리 정해두지 않음) 일반화의 특징 - Boxingm Unboxing을 줄일 수 있음.(프로그램의 성능개선) - 불필요한 오버로딩을 줄일 수 있음. - T에는 어떠한 데이터 자료형도 올 수 있음. 일반화 x -> 파라미터가 float형인 함수와 int형인 함수를 서로 따로 만들어야 했음. 함수의 일반화 제너릭 함수를 쓰기위 해선 라는 키워드를 사용해야합니다. static void GenericPrint(T data) 여기서 GenericPrint는 함수명이고 는 제너릭을.. 2021. 12. 19. 이전 1 2 3 4 5 6 ··· 10 다음