日期:2014-05-20  浏览次数:20811 次

在线等大神。关于模糊查询
页面有一个文本框叫username.想通过username进行模糊查询。定义一个List保存结果。

求大神指教,这是我的代码

List<string> plist = db.p_mains.Where(s => s.un.Contains(username.text));

菜鸟一只,勿喷

------解决方案--------------------
引用:
页面有一个文本框叫username.想通过username进行模糊查询。定义一个List保存结果。

求大神指教,这是我的代码

List<string> plist = db.p_mains.Where(s => s.un.Contains(username.text));

菜鸟一只,勿喷
              
              
   ……

这样就可以啊,Contains
List<string> plist = db.p_mains.Where(s => s.un.Contains(username.text));
------解决方案--------------------
就这样就要可以啦
p=>p.un.Contains(username.text)
你要是觉得匹配度不够,自己写一个正则对里面的字符串加以判断都可以。
------解决方案--------------------
你的Where语句生成出来的是一个User对象的List,所以无法转换成List<string>,可以在你的Where语句的结果基础上这样操作:
List<string> user_names = yourSourceList.Select(s => s.un).ToList<string>();
------解决方案--------------------
        static void Main()
        {
            List<string> userNames = new List<string>();
            userNames.Add("aaa");
            userNames.Add("aaabbb");
            userNames.Add("ddvv");
            userNames.Add("ddfff");
            userNames.Add("bbaaa");
            userNames.Add("dasdsad");

            //1
            //List<string> filterString = (from s in userNames
            //                             where s.Contains("aaa")
            //                             select s).ToList();

            //2
            List<string> filterString = userNames.Where(u => u.Contains("aaa")).ToList();

            filterString.ForEach(s => Console.WriteLine("{0}", s));

        }