C# Web服务,其中/订购人(?)

C# Web服务,其中/订购人(?),c#,asp.net,web-services,where,C#,Asp.net,Web Services,Where,我有一个web服务,它返回所有客户端的列表 我可以通过调用方法get all data将列表放入gridview,如下所示 test.RH_WebServiceService ligar = new test.RH_WebService(); test.baseList[] data = ligar.getAllData(); 问题是,我想按名字过滤它(例如),我一直在网上阅读,人们对我说,我可以这样做: test.baseList[] data = ligar.getAllD

我有一个web服务,它返回所有客户端的列表

我可以通过调用方法get all data将列表放入gridview,如下所示

    test.RH_WebServiceService ligar = new test.RH_WebService();
    test.baseList[] data = ligar.getAllData();
问题是,我想按名字过滤它(例如),我一直在网上阅读,人们对我说,我可以这样做:

test.baseList[] data = ligar.getAllData().Where(condition);
test.baseList[] data = ligar.getDataByName("John");

但是我不能让它工作。你们有什么想法吗?

假设你们正在使用Linq,那么你们可以做:

test.baseList[] data = ligar.getAllData().Where(d => d.Name == "John");
d是给对象的随机字母。我假设你的财产就是这个名字。尽管我建议在您的服务中创建一个方法,以便传入名称并获取过滤后的数据。这样,您只返回所需的数据,这将提高性能。大概是这样的:

test.baseList[] data = ligar.getAllData().Where(condition);
test.baseList[] data = ligar.getDataByName("John");

也许这会有一些帮助:

test.baseList[] data = ligar.getAllData().Where(f=> f.field == "value").ToArray();

我们能看到实际代码吗?什么是
条件
?它是
。Where()
不是
。Where()
(C区分大小写),您需要使用System.Linq
。除此之外,“无法让它工作”几乎不够详细,甚至无法开始诊断问题。这是一些人在我谈到我需要什么后给我的,我不知道他们所说的条件是什么意思,我猜这类似于test.baseList[]data=ligar.getAllData().WHERE(data.name=“john”);像这样的。但我试过了,但还是没能成功。谢谢克雷格,我写得太快了,我甚至没注意到自己搞砸了。感谢您注意到您仍然没有提供错误的描述,如@CraigW。建议。谢谢,我明天在学校试一试。是的,我考虑过,但是网络服务是给我的,我必须通过姓名、年龄等进行过滤,所以他们告诉我这样做