22. Queue, Stack, Hashtable 사용
·
💻 Programming Language/C#
Queue(큐) Queue : 선입선출(first in first out(FIFO)) 형태의 자료구조 Enqueue : 데이터를 입력 Dequque : 데이터를 출력 using System.Collections; namespace QueueEx { class Program { static void Main(string[] args) { Queue q = new Queue(); q.Enqueue(1); q.Enqueue(100); q.Enqueue(200); q.Dequeue(); q.Enqueue(22.5); int aa = (int)q.Dequeue(); // obj타입으로 반환되므로 casting 필요. q.Enqueue("가나다"); while(q.Count > 0) { Console.WriteLi..
21. ArrayList 사용하기
·
💻 Programming Language/C#
Collection(컬렉션) : 간단히 말하면, 데이터 모음을 담는 자료구조 배열이나, 스택, 큐 등을 컬렉션이라는 이름으로 제공 배열은 System.Array 타입이다.(=System.Array클래스를 상속받는다.) => System.Array는 ICollection 인터페이스를 상속 => 따라서 배열도 컬렉션(collection)의 일부이다. .Net 프레임워크에서 사용하는 컬렉션은 ICollection 인터페이스를 상속받는다. ArrayList, Queue, Stack, Hashtable ArrayList ArrayList는 배열과 비슷한 컬렉션 배열처럼 []인덱스로 요소의 접근이 가능하고, 특정 요소를 바로 읽고 쓸 수 있다.하지만, 배열을 선언할 때는 배열 크기를 지정하는 반면, ArrayLis..
20. 추상클래스에서 자동 프로퍼티 사용법
·
💻 Programming Language/C#
namespace AbstractEx { abstract class Book { private static int isbn = 0; public string ISBN { get { return String.Format("{0:d4}", isbn++); } } // 추상 프로퍼티 => 구현이 안된 프로퍼티 abstract가 붙어있기 때문에 abstract public DateTime BookDate { get;set; } } class MyBook : Book { public override DateTime BookDate { get; set; } } class Program { static void Main(string[] args) { Book book1 = new MyBook() { BookDate ..
19. 인터페이스에서 자동 프로퍼티 사용법
·
💻 Programming Language/C#
namespace InterfacePropertyEx { // 인터페이스 프로퍼티 interface IKeyValue { // 인터페이스에서 자동 프로퍼티는 C# 컴파일러가 자동으로 구현해주지 않는다. // 따라서, 해당 인터페이스를 상속받는 클래스에서 구현해주어야 한다. string Key { get; set; } string Value { get; set; } } class KeyValue : IKeyValue { public string Key { get; set; } public string Value { get; set; } // 이렇게 상속받는 클래스에서 자동프로퍼티를 이용해서 구현할 수 있다. // IKeyValue의 인터페이스를 구현해주고 있음(즉, 컴파일러가 자동으로 프로퍼티를 구현해줌)..
18. C# 7.0에서 자동 프로퍼티 사용법
·
💻 Programming Language/C#
자동 프로퍼티 기능은 C# 3.0에서 도입된 기능 기존 프로퍼티 사용 코드 public string Name { get { return name; } set { name = value; } } public DateTime EntryDate { get { return entryDate; } set { entryDate = value; } } C# 3.0 이후 자동 프로퍼티 사용 코드 public string Name { get; set; } public DateTime EntryDate { get; set; } C# 7.0 부터는 자동 프로퍼티에 초기값이 필요할 때 생성자에 초기화 코드를 작성해야하는 불편함을 해소할 수 있도록 초기값을 바로 설정할 수 있다. 아래 코드를 통해 확인해보자 기존 C# 3.0에..