我最近继承了一些写得很差的代码.不幸的是,它是一个我们高度依赖的系统,并且没有时间重新编写它,所以我坚持维护它并重新编写片段.但是,今天我偶然发现这个包含一个开关的方法,其中一个case语句没有中断.这怎么能编译?我的理解是所有案件都必须打破,返回或转到.
private void ReadBadge_Activated(object sender, EventArgs e)
{
try
{
if (!bInHideMode)
{
// Set Button states
btnCancelSwipe.Visible = true;
btnCancelSwipe.Refresh();
// Enable the Timeout timer
//tmrTimeout.Enabled = true;
// Refresh data
switch (mManageAction)
{
case "LogOnManager":
case "NormalUse":
lblSwipeStatus.Text = "Pass ID Badge\nNear The Reader";
break;
case "AddNewUser":
lblSwipeStatus.Text = "Pass ID Badge\nNear The Reader\nFor: " + mUserName;
break;
default:
lblSwipeStatus.Text = "Pass ID Badge\nNear The Reader\nFor: " + mUserName;
break;
}
}
}
catch (Exception ex)
{
MessageBoxNoClick.MessageBox2(ex.Message, …Run Code Online (Sandbox Code Playgroud) 我有以下LINQ查询,我用来查询数据表并填充字典,但它不断抛出错误:
System.ArgumentException:已添加具有相同键的项.
我是LINQ的新手,无法弄清楚写这个的正确方法.
有人可以帮忙吗?
var neworderGroupDict = (from m in KMVData.AsEnumerable()
select new
{
datakey = m.Field<string>("OrderNumber"),
datavalue = m.Field<int>("OrderGroup")
}).Distinct().ToDictionary(n => n.datakey, n => n.datavalue);
Run Code Online (Sandbox Code Playgroud)