如何将字符串转换为 GUID?

4

我有一个字符串类型的值,类似于"e2ddfa02610e48e983824b23ac955632"。我需要在这个代码中添加“-”,也就是将其转换为Guid。

EntityKey = "e2ddfa02610e48e983824b23ac955632";
Id = (Guid)paymentRecord.EntityKey;

7
是哪一个?C#还是C++(CLI)? - spender
3个回答

15

只是一个简单的创作:

  String source = "e2ddfa02610e48e983824b23ac955632";

  Guid result = new Guid(source);

Id = new Guid(paymentRecord.EntityKey),出现了一个错误:“无法将对象转换为字节数组”。 - Kapil Garg
@Kapil Garg:paymentRecord.EntityKey的类型是什么?即paymentRecord.EntityKey.GetType().Name是什么? - Dmitry Bychenko

9

您可以执行以下操作:

Guid guid;
if (Guid.TryParse("e2ddfa02610e48e983824b23ac955632", out guid))
{
    // succeed...
}
else
{
    // failed...
}

编辑:如@Silvermind所说,如果您知道输入的格式,您可以在您的情况下使用"N"格式的Guid.TryParseExact


1
既然您知道格式“N”,我建议将其添加。 - Silvermind

2

将字符串解析为Guid。可以这样做:

var guid= "e2ddfa02610e48e983824b23ac955632";
var result= Guid.ParseExact(guid,"N")

或者如果您更喜欢使用try parse方式,也可以这样做:

Guid result;
if(Guid.TryParseExact(guid,"N",out result))
{
    //Do something
}

“N” 是一种格式,它表示字符串将以 32 个没有“-”的数字进行格式化。

参考:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接