强制我是C#的新手,正在为一个大型项目工作并且遇到了谷歌似乎无法帮助我解决问题。
我理解这种情况需要保持不变,我使用变量来声明一个案例,但我似乎无法找到纠正问题的正确方法。
我正在使用该代码来确定是否向市场发送订单消息。
定义的变量
private string[] m_oKeys = new string[1];
带问题的开关
public void m_ts_OrderAdded(object sender, OrderAddedEventArgs e)
{
string key = e.Order.SiteOrderKey;
switch (key)
{
case m_oKeys[1]:
m_oObject = new e.Order();
m_oKeys = new e.Order.SiteOrderKey();
m_InFlight = new (false);
break;
case m_oKeys[]:
m_oObject[] = e.Order;
m_oKeys(1) = e.Order.SiteOrderKey;
m_InFlight(1) = false;
break;
default:
break;
//handle order not found...
}
}
答案 0 :(得分:1)
您已将数组定义为包含单个字符串。
private string[] m_oKeys = new string[1];
所以你只能引用第一个元素m_oKeys[0]
。正如其他人所说,你必须使用case
标签的常量。也许if-else
会更适合您。
public void m_ts_OrderAdded(object sender, OrderAddedEventArgs e)
{
string key = e.Order.SiteOrderKey;
if (key == m_oKeys[0])
{
// Do something
}
else
{
// Do something else
}
}