C# 创建Guid->;从VB到C的转换#

C# 创建Guid->;从VB到C的转换#,c#,vb.net,guid,act,C#,Vb.net,Guid,Act,我在VB.Net中有以下代码,我正在尝试将其转换为C# 以下是我迄今为止的尝试: Guid[] test = new Guid[1]; test[0] = Guid.NewGuid(ContactID); contactList = actApp.Contacts.GetContactsByID(null, test); 上述错误是因为NewGuid()不接受任何参数。我也试过了 test[0] = contactID1; 但是,无法将字符串转换为Guid。有人能帮上忙吗?Gui

我在VB.Net中有以下代码,我正在尝试将其转换为C#

以下是我迄今为止的尝试:

 Guid[] test = new Guid[1];
 test[0] = Guid.NewGuid(ContactID);   
 contactList = actApp.Contacts.GetContactsByID(null, test);
上述错误是因为NewGuid()不接受任何参数。我也试过了

test[0] = contactID1;

但是,无法将字符串转换为Guid。有人能帮上忙吗?

Guid.NewGuid
是一个方法,您不是从VB代码中调用该方法,而是调用接受字符串的构造函数。您可以在C#中调用相同的构造函数:

或者,如果要根据VB代码在一行中进行调用:

contactList = actApp.Contacts.GetContactsByID(null, new[] { new Guid(ContactID) });
我认为
NewGuid
有这个名字而不是
CreateGuid
,这是一种耻辱,但生活就是这样:(

使用
Guid.Parse
当然也会起作用-从它们的行为非常相似的角度来看;构造函数只是处理溢出异常的方式略有不同。

尝试
Guid.Parse(ContactID.ToString());


如果ContactID实际上是一个字符串,简单写
Guid.Parse(ContactID);

是否有一个您可以使用的?它不会抛出错误,所以这可能是我正在寻找的。我可以发誓我尝试过这个!尝试时一定出错了。谢谢!
// Using an array initializer for simplicity
Guid[] test = { new Guid(ContactID) };
contactList = actApp.Contacts.GetContactsByID(null, new[] { new Guid(ContactID) });