私が持っているものはすべて正常に動作しますが、注文番号が重複して入力された場合にユーザーにプロンプトを表示し、新しい注文番号を再入力する方法を探しています。現在、重複を受け入れるだけで、必要なエラーメッセージは表示されません。Order
ベースとなる2 つのクラスを作成しましたShippedOrder
。Order
これが、クラス内にある equals メソッドです。
public override bool Equals(Object e)
{
bool equal;
Order temp = (Order)e;
if (orderNumber == temp.orderNumber)
equal = true;
else
equal = false;
return equal;
これが私がメインメソッド内に持っているものです。それが助けになるなら、私はすべてを投稿することができます。繰り返しますが、ユーザーフォームが同じ2つの注文番号を代入するのを防ぐ方法を見つける助けを探しています.
static void Main(string[] args)
{
double sum = 0;
ShippedOrder[] orderArray = new ShippedOrder[5];
ShippedOrder[] check = new ShippedOrder[5];
bool wrong = true;
for (int x = 0; x < orderArray.Length; ++x)
{
orderArray[x] = new ShippedOrder();
Console.Write("Enter order number: ");
orderArray[x].orderNumber = Convert.ToInt32(Console.ReadLine());
for (int y = 0; y < x; ++y)
{
check[y] = new ShippedOrder();
if (orderArray[x].Equals(check[y]))
wrong = false;
while (!wrong)
{
Console.WriteLine("Sorry, the order number {0} is a duplicate. \nPlease reenter {1}",
orderArray[x], check[y]);
for (y = 0; y < x; ++y)
{
if (orderArray[x].Equals(check[y]))
wrong = false;
}
check[y] = orderArray[x];
}
}
Console.Write("Enter cusomer name: ");
orderArray[x].customerName = Console.ReadLine();
Console.Write("Enter quanity: ");
orderArray[x].quanityOrdered = Convert.ToInt32(Console.ReadLine());