【发布时间】:2019-08-15 07:57:43
【问题描述】:
我有一个字符串列表,它可以容纳任何数据类型的数据,即
[0]: ""
[1]: "api"
[2]: "Lookup"
[3]: "user"
[4]: "MapDesignation"
[5]: "84e57c3c-51d2-4e4d-a7ae-db2ee088a3c6"
代码:
"/api/Lookup/user/MapDesignation/84e57c3c-51d2-4e4d-a7ae-db2ee088a3c6".Split('/')
现在我的要求是我需要从此列表中获取第一个 GUID 值。 该列表可以容纳多个 GUID 类型的值,但我只需要第一个。
谢谢
【问题讨论】:
-
"/api/Lookup/user/MapDesignation/84e57c3c-51d2-4e4d-a7ae-db2ee088a3c6".Split('/').OfType
().First();我有这个,但是得到'System.InvalidOperationException',你能看看有什么遗漏 -
您应该能够迭代然后在每个元素上使用 Guid.TryParse 来查看它是否是有效的 GUID。 docs.microsoft.com/en-us/dotnet/api/…
-
@Sean OP 的问题是模棱两可的:他们声明他们有一个对象类型列表(即
List<object>)并且想要采用第一个Guid。 -
..但实际上从您的第一条评论来看,这似乎真的是一个字符串列表。你得澄清一下!
-
@Sean 你给出的解决方案工作,尝试了 actionContext.Request.RequestUri.AbsolutePath.Split('/').Where(d => Guid.TryParse(d.ToString(), out val )).FirstOrDefault()
标签: c# arrays linq arraylist guid