[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기
꽁스짱
C#
0
1174
2021.02.15 22:56
[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기
해시테이블(Hashtable)은 키(key), 값(value) 쌍으로 된 자료를 다루는 데 용이하다. 배열과 차이점 이라면 배열이 자료에 접근하기 위해 인덱스를 사용하지만 해시테이블은 데이터베이스처런 키 값을 사용한다는 겂이다. 키 값은 어떤 형식도 가능하며 탐색 속고 또한 좋다. ArrayList에서 데이터 검색을 위해 이짂탐색을 수행하거나 리스트를 순회하지만 Hashtable은 키를 이용해 데이터를 빠르게 검색핚다. 그러므로 키는 NULL값을 가질 수 없지만 값은 NULL일 수 있다.
아래 예제는 해시테이블을 이용하여 간단히 쇼핑카트를 구현한 예문 이다.
using System;
using System.Collections.Generic;
using System.Collections;
namespace ConsoleApplication1
{
class Cart
{
public string GCode { get; set; }
public string GName { get; set; }
public int Danga { get; set; }
public int Cnt { get; set; }
public int Total { get; set; }
}
class CartTest
{
public static void Main()
{
Hashtable cart = new Hashtable();
Cart cart1 = new Cart();
cart1.GCode = "1111";
cart1.GName = "볼펜";
cart1.Danga = 1000;
cart1.Cnt = 5;
cart1.Total = 5000;
cart.Add("1", cart1);
Cart cart2 = new Cart();
cart2.GCode = "2222";
cart2.GName = "사과";
cart2.Danga = 2000;
cart2.Cnt = 2;
cart2.Total = 4000;
cart.Add("2", cart2);
////////////////////////장바구니 Display
Console.WriteLine("==============================================");
Console.WriteLine("CartNo 상품코드 상품명 단가 수량 합계금액");
Console.WriteLine("==============================================");
foreach (DictionaryEntry d in cart)
{
Cart c = (Cart)d.Value;
Console.WriteLine("{0} {1} {2} {3:C} {4:N0} {5:C} ",
d.Key, c.GCode, c.GName, c.Danga, c.Cnt, c.Total);
}
}
}
}
[결과]
==============================================
CartNo 상품코드 상품명 단가 수량 합계금액
==============================================
1 1111 볼펜 \1,000 5 \5,000
2 2222 사과 \2,000 2 \4,000