C# linq不区分大小写和修剪比较
我正在使用C# linq不区分大小写和修剪比较,c#,linq,C#,Linq,我正在使用linq查询一个表 我的查询过滤器需要比较几个字符串值——这个比较是不区分大小写和空白的修剪,不只是在开头和结尾的字符串,而且在中间,如“重庆”或“四川”。我试图解决这个问题,但我发现它不起作用 string fromLocation = this.uiFromLocation.Text; string toLocation = this.uiToLocation.Text; fromLocation = fromLocation.Trim().ToUpper(); toLocatio
linq
查询一个表
我的查询过滤器需要比较几个字符串值——这个比较是不区分大小写和空白的修剪,不只是在开头和结尾的字符串,而且在中间,如“重庆”或“四川”。我试图解决这个问题,但我发现它不起作用
string fromLocation = this.uiFromLocation.Text;
string toLocation = this.uiToLocation.Text;
fromLocation = fromLocation.Trim().ToUpper();
toLocation = toLocation.Trim().ToUpper();
var results = from myRow in sectionsDetails.Tables[0].AsEnumerable()
where myRow.Field<string>("LocationFrom").Trim().ToUpper() == fromLocation &&
myRow.Field<string>("LocationTo").Trim().ToUpper() == toLocation &&
myRow.Field<int>("VehicleType") == vehicleType
orderby myRow.Field<DateTime>("ModifiedDate") descending
select myRow;
string fromLocation=this.uiFromLocation.Text;
字符串toLocation=this.uiToLocation.Text;
fromLocation=fromLocation.Trim().ToUpper();
toLocation=toLocation.Trim().ToUpper();
var results=来自sectionsDetails.Tables[0]中的myRow。AsEnumerable()
其中myRow.Field(“LocationFrom”).Trim().ToUpper()==fromLocation&&
myRow.Field(“LocationTo”).Trim().ToUpper()==toLocation&&
myRow.Field(“VehicleType”)==VehicleType
orderby myRow.Field(“ModifiedDate”)降序
选择myRow;
我想
myRow.Field<string>("LocationFrom").Trim().ToUpper() == fromLocation
myRow.Field(“LocationFrom”).Trim().ToUpper()==fromLocation
这是不对的
如何实现此功能?Trim()
仅修剪字符串开头和结尾(前导和尾随)的空格。。。看
要删除字符串中的空格,可以使用:
*str*.Replace(“,”)代码>
Regex.Replace(*str*,@“\s”,”)
也可以考虑使用一个比较方法,如<代码> *STR*.Advices(*STR2*,StrugRealth.RealOrtheCeCase:<代码>),而不是依赖<代码> ToupPiver()/Cuth>。阅读,它详细解释了字符串比较。
“不工作的可能原因是什么?”-什么不工作?详细信息?在调试器中显示的是,存在一种方法可以打印myRow.Field(“LocationFrom”).Trim().ToUpper()
@Sem它运行时没有问题,但无法得到任何结果,我怀疑myRow.Field(“LocationFrom”).Trim().ToUpper()
没有得到修剪结果,我想修剪中间的一个空间。string@want_to_be_calm-Trim()。。。