如何正确拆分Guid?

时间:2016-06-16 05:24:49

标签: c# split

我有这些代码

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

通常情况下,如果我不使用split和index函数,我会得到类似的东西:

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

分裂我只得到这个

 3de1f910

但是我该如何才能获得这样的行?

 3de1f910-a8a3

问候。

2 个答案:

答案 0 :(得分:0)

由于GUID是标准化且固定的长度,因此您可以为substring提供固定的长度。

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

答案 1 :(得分:0)

在您的示例中,您似乎需要来自-的第二个索引的字符串,其中您将获得Guid的第一个分段,并且出于某种原因创建了两个Guid s

以下是两个简单的例子(加上spa的例子)。

酷林克

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);