我有一个像
这样的清单var listDataDemo = model.Jobs.ToList();
listDataDemo包含如下数据
Count = 13
[0]: {PaymentItemModel}
当我输入立即窗口时,如
listData.FirstOrDefault()
它给出了结果
Amount: 0
Date: {1/01/0001 12:00:00 AM}
Method: "PayPal"
PayerName: null
PayerNumber: null
PaymentDetailType: Payment
TransactionId: null
但是当我写作(我班上的代码)
var demoVal = listData.FirstOrDefault(p=>p.Method=="PayPal")
The name 'demoVal' does not exist in the current context(no value)
如何从LIST获取值。
请帮帮我。
答案 0 :(得分:1)
关闭袖口,您提供给FirstOrDefault以过滤结果的谓词看起来有语法错误:(p=>p.Method="PayPal")
应为(p=>p.Method=="PayPal")
。
当然,这可能是一个错字,完整性:
'='是一个赋值运算符,用于当你想为变量赋值时。
'=='是一个相等比较运算符,用于测试值之间的相等性并获得'true'或'false'。
编辑回答拼写错误...
您使用的是实体框架吗? EF还有FirstOrDefault的扩展方法,但filter参数是SQL查询。如果您使用EF,那么您可能会遗漏以下内容:
using System.Collections.Generic;
using System.Linq;
答案 1 :(得分:1)
以下代码对我来说很好。看看:
List<test> testList = new List<test>();
testDB testObj = new testDB();
testList = testObj.fn_getAll();
var abc = testList.FirstOrDefault(a => a.Id == 3);
您只是尝试更改变量的名称,这可能会导致问题。
我希望它会对你有所帮助.. :)
答案 2 :(得分:0)
您对FirstOrDefault
的调用中的谓词似乎有拼写错误。您希望==
进行比较,而不是=
进行分配。