gpt4 book ai didi

c# - 重构 LINQ 查询

转载 作者:行者123 更新时间:2023-11-30 13:20:59 25 4
gpt4 key购买 nike

考虑以下内容

if(type== "S")
{
lstItem.ItemsSource = (from item in Items
where item.Property1 == "SomeValue"
select item);
}
else
{
lstItem.ItemsSource = (from item in Items
where item.Property2 == "SomeOtherValue"
select item);
}

可以看出,这两个查询之间的唯一区别仅在于属性名称(第一个是Property1,第二个是Property2)

有没有更好的方法以结构化的方式重构/编写代码(一些只传递属性名称并根据该方法过滤记录的常用方法)或者这是做同样事情的正确方法?

需要帮助。

谢谢

最佳答案

也可以在where子句中添加内联if

lstItem.ItemsSource = 
(from item in Items
where (test == "S" ? item.Property1 == "SomeValue" : item.Property2 == "SomeOtherValue")
select item);

关于c# - 重构 LINQ 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510898/

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