2016-06-16 60 views
0

我有這行代碼如何正確分割Guid?

pic = Guid.NewGuid().ToString().Substring(0, Guid.NewGuid().ToString().IndexOf("-", StringComparison.Ordinal)) + Path.GetExtension(file.FileName); 

所以,一般來說,如果我不使用的功能分割和索引我得到這樣的:

3de1f910-a8a3-471b-95e8-7f54c299b2b0_650_1200 

而且具有分裂我只得到這個

3de1f910 

但我該怎麼做到這樣的行?

3de1f910-a8a3 

問候。

回答

0

作爲一個GUID是標準化和固定長度,你可以給一個固定的長度爲substring

pic = Guid.NewGuid().ToString().Substring(0, 13) + Path.GetExtension(file.FileName); 
0

從你的例子看來你想從那裏,你所得到的Guid的第一段,以及由於某種原因正在創建兩個Guid S的-第二個索引的字符串。

這裏有兩個簡單的例子(加上水療中心的例子)。

酷的LINQ

var pic = string.Join("-", Guid.NewGuid().ToString().Split(new[] { '-' }).Take(2)) + Path.GetExtension(file.Name); 

不是很爽IndexOf

var g = Guid.NewGuid().ToString(); 
string guidSegment = g.Substring(0, g.IndexOf("-", g.IndexOf("-") + 1)); 
var pic = guidSegment + Path.GetExtension(file.Name);