这段代码在做什么 - 拆分字符串并创建GUID

时间:2015-10-23 05:20:19

标签: c# .net .net-3.5

我试图了解一段源代码,而我目前无权构建/调试代码。有人可以协助解释下面代码的意图吗?

拆分字符串,并使用拆分字符串创建GUID的混合物让我去旅行。

string titleOfItem = "valuePassedAsParameter";    
Guid itemId = new Guid(titleOfItem.Split(new string[] { "Approve ", "Decline "}, StringSplitOptions.RemoveEmptyEntries)[1]);

2 个答案:

答案 0 :(得分:7)

假设您有一个类似于

的字符串
"Something Approve {18e4ccaf-e2d7-476f-93b2-251dea286f65}"

然后

"Something Approve {18e4ccaf-e2d7-476f-93b2-251dea286f65}".Split(new string[] { "Approve ", "Decline " },  StringSplitOptions.RemoveEmptyEntries)

将生成字符串数组

["Something "], ["{18e4ccaf-e2d7-476f-93b2-251dea286f65}"]

然后[1]将采用第二项(字符串化的GUID)

new Guid("{18e4ccaf-e2d7-476f-93b2-251dea286f65}")

将产生一个guid,其部分根据解析的guid字符串

答案 1 :(得分:2)

我假设“valuePassedAsParameter”包含一个GUID,但表示为字符串。

所以代码所做的是将这个字符串拆分为两个关键字(“Approve”和“Decline”)并删除空值,这意味着在拆分结束时,您将得到一个包含之前或之后所有字符串的数组这些关键字本身和所有空字符串都不包含在数组中。

之后代码采用[1]索引,它是数组中的第二个元素,并从中创建一个GUID(这就是为什么我假设你的字符串中有一个GUID)