public class SelectedItems
{
public Item item;
public int quantity;
public double subtotal = 0.0;
}
public class Item
{
public int itemcode;
public string itemname;
public double unitprice = 0.0;
}
/* These are my classes */
class Program
{
public static ArrayList details = new ArrayList();
public static ArrayList purchased = new ArrayList();
static void Main(string[] args)
{
Item i1 = new Item();
i1.itemcode = 1111;
i1.itemname = "Pants";
i1.unitprice = 950.00;
Item i2 = new Item();
i2.itemcode = 2222;
i2.itemname = "Dress";
i2.unitprice = 850.00;
Item i3 = new Item();
i3.itemcode = 3333;
i3.itemname = "Blouse";
i3.unitprice = 650.00;
Item i4 = new Item();
i4.itemcode = 4444;
i4.itemname = "Shirt";
i4.unitprice = 1500.00;
Item i5 = new Item();
i5.itemcode = 5555;
i5.itemname = "Belt";
i5.unitprice = 1200.00;
details.Add(i1);
details.Add(i2);
details.Add(i3);
details.Add(i4);
// details.Add(i5);
details.Add(new Item { itemcode = 5555, itemname = "Belt", unitprice = 1200.00 });
/*Console.WriteLine("Enter the code :");
searchItem(Convert.ToInt32(Console.ReadLine()));
Console.ReadLine();*/
Console.Write("Number Of Different Items:");
int count = Convert.ToInt32(Console.ReadLine());
while (count > 0)
{
SelectedItems stm = new SelectedItems();
Console.WriteLine("Enter the code :");
Item im = searchItem(Convert.ToInt32(Console.ReadLine()));
if (stm.item == null)
Console.WriteLine("no item");
else
{
Console.WriteLine("Enter the quantity :");
stm.quantity = Convert.ToInt32(Console.Read());
stm.subtotal = stm.item.unitprice * (Convert.ToDouble(stm.quantity));
purchased.Add(stm);
}
count--;
}
//printBill();
}
public static Item searchItem(int code)
{
foreach (Item i in details)
{
if (code == i.itemcode)
{
return i;
Console.WriteLine("{0} : {1} : {2}", i.itemcode, i.itemname, i.unitprice);
}
}
return null;
}
這總是返回沒有item.Can我明白了嗎?我張貼這早些時候,並能得到它正確的,現在還給頭疼需要解決這個問題
你似乎濫用類!也許不要。此外,'請列出'而不是'ArrayList',並且'PascalCase'屬性。 –
Ryan
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –