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是字符串


也可以考虑使用一个比较方法,如<代码> *STR*.Advices(*STR2*,StrugRealth.RealOrtheCeCase:<代码>),而不是依赖<代码> ToupPiver()/Cuth>。阅读,它详细解释了字符串比较。

“不工作的可能原因是什么?”-什么不工作?详细信息?在调试器中显示的是,存在一种方法可以打印
myRow.Field(“LocationFrom”).Trim().ToUpper()
@Sem它运行时没有问题,但无法得到任何结果,我怀疑
myRow.Field(“LocationFrom”).Trim().ToUpper()
没有得到修剪结果,我想修剪中间的一个空间。string@want_to_be_calm-
Trim()。。。