在以下的C#代码中,cboRole返回一个Guid。
我尝试在switch语句中使用它来执行一些操作。
由于cboRole只能返回4种不同的Guid,所以我认为switch是我的最佳选择。
问题在于所有的case都被忽略了,我总是得到默认的操作。当我调试时,我清楚地看到cboRole返回一个像下面截图中的值。
在C#中,用于"比较"Guids的正确方法是什么?
代码:
我尝试在switch语句中使用它来执行一些操作。
由于cboRole只能返回4种不同的Guid,所以我认为switch是我的最佳选择。
问题在于所有的case都被忽略了,我总是得到默认的操作。当我调试时,我清楚地看到cboRole返回一个像下面截图中的值。
在C#中,用于"比较"Guids的正确方法是什么?
代码:
if (!cboRole.IsNull)
{
switch (cboRole.EditValue.ToStringEx())
{
case "532E8EED-9E72-42E0-871E-36470C1AE327":
param1 = "4E08BA7C-E81F-40AE-92F0-DF33A98DD0BB";
MessageBox.Show("It's working");
break;
case "FA7637E9-A9E4-4D57-A59B-80615424D27F":
param1 = "E540C382-F22C-4FE2-9068-1E10AA8DD076";
break;
case "2734CCD9-93E6-4A86-8B83-5EA9E62FA921":
param1 = "8A54F8D5-5B74-4B3F-A29A-D423AA8DD02E";
break;
default:
MessageBox.Show("Not Working");
break;
}
cboRole.EditValue.ToString().ToUpper()
,你就可以了。 - igelineauEditValue
是什么,重要的是ToStringEx()
方法返回了什么。 - Sam I am says Reinstate Monicaconst string MyGuidValue1 = "532E8EED-9E72-42E0-871E-36470C1AE327";
- igelineau