gpt4 book ai didi

c# - LINQ 选择非空字符串

转载 作者:可可西里 更新时间:2023-11-01 08:22:59 26 4
gpt4 key购买 nike

有一个带有 2 个字符串字段的结构 S:A 和 B。

我想将 S 的数组转换为字符串数组,其中包含所有非空的唯一 A 和 B。最有效的方法是什么?

问候,

最佳答案

var myArray = S.Select( x => new [] { x.A, x.B })
.SelectMany( x => x)
.Where( x=> !string.IsNullOrEmpty(x))
.Distinct()
.ToArray();

只有当唯一约束在结果集合上时以上才有效——如果您需要对 A 和 B 的集合的唯一约束,则以下方法有效:

var As = S.Select(x => x.A)
.Where( x=> !string.IsNullOrEmpty(x))
.Distinct();
var Bs = S.Select(x => x.B)
.Where( x=> !string.IsNullOrEmpty(x))
.Distinct();

var myArray = new[] { As, Bs }.SelectMany(x => x).ToArray();

var myArray = As.Concat(Bs).ToArray();

关于c# - LINQ 选择非空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6892727/

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