在LINQ查询中使用字符串

本文关键字:字符串 LINQ 查询 | 更新日期: 2023-09-27 17:50:11

我目前正在用c#开发一个WPF项目。该项目接受一个字符串(newMemoryRFID),该字符串是在初始化页面时定义的,并在查询中使用它。Like so

var query = 
            from c in MemoryData.Memory
                    where c.RFID == newMemoryRFID
                    select c;
        this.DataContext = query;
        this.View = ((CollectionView)(CollectionViewSource.GetDefaultView(this.DataContext)));

生成一个空的DataContext

然而,当我使用与newMemoryRFID相同的测试数据时,查询即

var query = 
            from c in MemoryData.Memory
                    where c.RFID == "0F02D76B05"
                    select c;
        this.DataContext = query;
        this.View = ((CollectionView)(CollectionViewSource.GetDefaultView(this.DataContext)));

查询得到正确的记录。你可能会说我不是最好的程序员,所以你的回答越简单越好。非常感谢

在LINQ查询中使用字符串

是时候使用调试器了。听起来newMemoryRFID在创建查询时没有设置为"0F02D76B05"。

如果你不能进入,至少要进入

Debug.WriteLine(string.Format("newMemoryRFID = {0}", newMemoryRFID); 

行之前
var query = ...

尝试在字符串的开始和结束处修剪可能导致字符串匹配失败的空白。