基本上比較輸入的字符串,並嘗試從數組中獲取該位置。比較字符串,其中一個來自輸入值以外的數組
如果我初始化位置爲0,則返回數組的位置爲零,如果我初始化爲1,那麼它給了我插槽1中的項目,所以它跳過比較語句。
我也嘗試過使用(custStatus == cardStatus[i])
public static int discount(string []cardStatus, int []pDiscount, string custStatus)
{
int position= 0;
int discount;
for(int i = 0; i < 2; i++)
{
if (string.Equals(custStatus, cardStatus[i]))
position = i;
}
discount = pDiscount[position];
return discount;
}
您是否嘗試過使用這種方法調試器?如果你在'int position = 0;'的頂部放置了一個斷點,那麼你可以確認'custStatus'按預期發生。然後繼續執行for語句,看看它在嘗試進行比較時會發生什麼。 – 2011-04-05 02:05:38
你是否在修剪你的輸入?如果你的輸入包含換行符(或其他空格),即使它看起來像字符串匹配,你的字符串比較也會失敗。 – 2011-04-05 21:41:07