我有这些代码
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
问候。
答案 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);