如何使用C#LInQ中的Clause

时间:2018-02-10 23:12:49

标签: c# linq

如何使用以下LINQ代码段使用like子句?:

var query = from r in document.Descendants("Employee")
                        where (string)r.Element("FirstName").Value == txtSearch.Text
                        select new
                        {

                            FirstName = r.Element("FirstName").Value,
                            Age = r.Element("Age").Value
                        }; 

我尝试了以下但是没有用:

var query = from r in document.Descendants("Employee")
                        where (string)r.Element("FirstName").Value.Contains(txtSearch.Text)
                        select new
                        {

                            FirstName = r.Element("FirstName").Value,
                            Age = r.Element("Age").Value
                        };

...提前感谢您的任何帮助

1 个答案:

答案 0 :(得分:0)

您正在尝试将布尔值强制转换为字符串:

where (string)r.Element("FirstName").Value.Contains(txtSearch.Text)

如果Value真的需要强制转换为String,那么代码应为:

where ((string)r.Element("FirstName").Value).Contains(txtSearch.Text)

但我认为你不需要它,因为如果VS已经完成Contains它是一个字符串函数并且不需要强制转换:

where r.Element("FirstName").Value.Contains(txtSearch.Text)