2015-11-27 70 views
0

我有字符串类型的值,如"e2ddfa02610e48e983824b23ac955632"。我需要添加 - 在此代码意味着转换Guid。如何将字符串转换为Guid?

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

这是哪一个? C#或C++(CLI)? – spender

回答

2

只是一个简单的创作:

String source = "e2ddfa02610e48e983824b23ac955632"; 

    Guid result = new Guid(source); 
+0

Id = new Guid(paymentRecord.EntityKey),这个错误即将到来“无法将对象转换为字节[]” –

+0

@Kapil Garg:“paymentRecord.EntityKey”的类型是什么?即'paymentRecord.EntityKey.GetType()。Name'? –

5

你可以这样做:

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

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

+1

既然你知道格式'“N”',我会建议添加它。 – Silvermind

1

用于解析stringGuid。你可以这样做:

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

或者,如果你更喜欢尝试解析它。你也可以这样做:

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

的 “N” 是一种格式,表明该字符串将是格式,32位无 “ - ”

参考: