Linq中能进行if判断吗?

风一样的大叔 2012-06-28 03:30:14
下面是我写的代码,没问题,可以实现功能
就是想问问Linq高手,能不能把下面的代码改成用linq来判断no是否为空?
List<string> queryno = new List<string>();
if (no == "")
{
queryno.AddRange(allnos.Select(t => t.IFSID));
}
else
{
queryno.Add(no);
}
...全文
1122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2012-06-28
  • 打赏
  • 举报
回复


还可以再优化一下:

List<string> queryno =allnos.Where(t=>(!string.IsNullOrEmpty(no)&& t.IFSID==no)).Select(t => t.IFSID).ToList();
风一样的大叔 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code
List<string> queryno =allnos.Where(t=>string.IsNullOrEmpty(no)?(1==1):(t.IFSID==no)).Select(t => t.IFSID).ToList();
[/Quote]高手啊
q107770540 2012-06-28
  • 打赏
  • 举报
回复
List<string> queryno =allnos.Where(t=>string.IsNullOrEmpty(no)?(1==1):(t.IFSID==no)).Select(t => t.IFSID).ToList();
风一样的大叔 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

判断no是否为空,LINQ不是多余吗

直接 string.IsNullOrEmpty(no)
[/Quote]恩,我就是想看看能不能把这么多行代码用一行linq写出来
bdmh 2012-06-28
  • 打赏
  • 举报
回复
判断no是否为空,LINQ不是多余吗

直接 string.IsNullOrEmpty(no)
风一样的大叔 2012-06-28
  • 打赏
  • 举报
回复
allnos是从数据库查出来的所有ID,而no是查询时可能输入的单个ID,这个ID可以输入也可以不输入,如果不输入则返回所有ID的结果,输入则只返回单条记录
q107770540 2012-06-28
  • 打赏
  • 举报
回复
List<string> queryno =new List<string>();
if (no == "")
queryno =allnos.Select(t => t.IFSID).ToList();
else
queryno.Add(no);

没看出no 和allnos有什么关系

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧