首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linq查询中的StartsWith string.empty

问linq查询中的StartsWith string.empty
EN

Stack Overflow用户
提问于 2016-06-10 12:35:09
回答 3查看 517关注 0票数 1

我想用StartsWith进行过滤。值可能为空。如果搜索字符串为空,如何获取所有记录。

代码语言:javascript
复制
public void UserFunction (string s_SearchString)
{
    var _List = database.TableName(from c in database.TableNames where c.Name.StartsWith(s_SearchString));
    // other code...
}

在这里,_List将在前面的代码中使用。s_SearchString可能是空的,当它是空的时候,我要所有的记录。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-10 12:41:31

只要在SearchString参数有值的情况下应用该条件:

代码语言:javascript
复制
var query=database.TableNames;
if(!String.IsNullOrEmpty(a_SearchString))
{
  query=query.Where(e=>e.Name.StartsWith(s_SearchString))  
}
var _List = database.TableName(query);
票数 2
EN

Stack Overflow用户

发布于 2016-06-10 12:44:37

代码语言:javascript
复制
var db = database.TableName.ToList()
if(!String.IsNullOrWhiteSpace(s_SearchString)) // can also use string method String.IsNullOrEmpty.. your preference
{
    return db.Where(x => x.Name.StartsWith(s_SearchString)).ToList(); // using lambda expression
}
else
{
    return db;  // s_SearchString is Null or White Space so return all records
}
票数 0
EN

Stack Overflow用户

发布于 2016-06-10 12:51:17

代码语言:javascript
复制
if(!String.IsNullOrEmpty(a_SearchString))
{
  database.TableNames=database.TableNames.Where(e=>e.Name.StartsWith(s_SearchString))  
}
//other code;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37748447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档