在 LINQ 查询中使用字符串

发布于 2024-11-01 17:14:12 字数 787 浏览 5 评论 0原文

我目前正在用 C# 开发一个 WPF 项目。该项目采用在页面初始化时定义的字符串 (newMemoryRFID) 并在查询中使用它。像这样

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)));

查询获取正确的记录。正如您可能知道的那样,我不是最好的程序员,因此您的答案越简单越好。提前非常感谢

I am currently developing a WPF project in c#. The project takes a string (newMemoryRFID) which is defined when the page is initialised and uses it in a query. 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)));

This produces an empty DataContext

However when I use test data which is the same as what newMemoryRFID would be the query i.e.

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

The query gets the correct record. As you may be able to tell I'm not the best programmer so the simpler your answer the better. And thanks very much in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阳光下的泡沫是彩色的 2024-11-08 17:14:12

这是使用调试器的时候了。听起来 newMemoryRFID 在创建查询时未设置为“0F02D76B05”。

如果你不能进去,至少

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

在排队之前进去

var query = ...

This is the time to use your debugger. It sounds like newMemoryRFID isn't set to "0F02D76B05" at the time that query is created.

If you can't step into it, at least do

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

before the line

var query = ...
厌倦 2024-11-08 17:14:12

尝试在开头和结尾处修剪字符串,以消除可能导致字符串匹配失败的空格。

Try trimming the string both at the beginning and end for possible whitespace which would fail the string match.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文