[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기

홈 > 공유팁! > 프로그램 관련
프로그램 관련

[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기

꽁스짱 0 985

[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
0 Comments
제목