从列表中获取第一个 GUID 类型值

Get First GUID type value from List

我有一个字符串列表,它可以容纳任何数据类型的数据即

    [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 类型值,但我只需要第一个。

谢谢

假设您在某种字符串列表中获得了数据:

List<string> data = ....;
string value = data.Where(d => Guid.TryParse(d, out var _).FirstOrDefault();

如果列表中没有有效的 guid,则 value 将是 null

如果您的列表是对象列表,那么您可以尝试将值转换为字符串然后解析:

List<object> data = ....;
var value = data.Where(d => Guid.TryParse(d.ToString(), out var _).FirstOrDefault();

如果列表包含一系列类型,其中可能包含 Guid 那么您可以使用 OfType:

List<object> data = ...
var guid = data.OfType<Guid>().FirstOrDefault();

在这种情况下,如果没有 guid,则 guid 将设置为 Guid.Empty