gpt4 book ai didi

c# - 在参数中将 list 转换为 IEnumerable

转载 作者:太空宇宙 更新时间:2023-11-03 12:03:25 24 4
gpt4 key购买 nike

我有一个名为 GetContentPageToValueVo 的函数接受 IEnumerable<Guid> types ,这里的位置和服务的类型是 list<string> ,那么如何将参数中的这一行转换为 IEnumerable 类型,我的位置列表来自 solr,并且具有字符串格式的有效 guid

Location = ScHelper.Instance().GetContentPageToValueVo(x.Locations),
Service = ScHelper.Instance().GetContentPageToValueVo(x.Services)

最佳答案

您可以同时使用 LINQ Select 方法和 Guid.Parse 转换 List<string>IEnumerable<Guid> .

Select这里将:

Projects each element of a sequence into a new form by incorporating the element's index.

Guid.Parse将:

Converts the string representation of a GUID to the equivalent Guid structure.

所以你的代码会变成:

Location = ScHelper.Instance().GetContentPageToValueVo(x.Locations.Select(Guid.Parse)),
Service = ScHelper.Instance().GetContentPageToValueVo(x.Services.Select(Guid.Parse))

为了避免ArgumentNullException ,你可以使用它:

Guid y;

Location = ScHelper.Instance().GetContentPageToValueVo(x.Locations.Where(x=>!string.IsNullOrWhiteSpace(x) && Guid.TryParse(x,out y)).Select(Guid.Parse)),
Service = ScHelper.Instance().GetContentPageToValueVo(x.Services.Where(x=>!string.IsNullOrWhiteSpace(x) && Guid.TryParse(x,out y)).Select(Guid.Parse))

关于c# - 在参数中将 list<string> 转换为 IEnumerable<guid>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56097361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com