【发布时间】:2014-03-13 09:40:59
【问题描述】:
我有一个包含 3 个变量的列表,即费用、薪水和年份。我想使用 LINQ 从列表中返回所有费用。编写一个 foreach 循环就足够了,但我希望使用 LINQ 归档一些更有效的东西。
我在想这样的事情:
List<Company> ListCompanies = new List<Company>();
Company company1 = new Company() { Expense = 200, Salary = 1000, Year = new DateTime(2014, 1, 1).ToString("yyyy/mm/dd") };
Company company2 = new Company() { Expense = 300, Salary = 800, Year = new DateTime(2014, 2, 1).ToString("yyyy/mm/dd") };
Company company3 = new Company() { Expense = 500, Salary = 1400, Year = new DateTime(2014, 3, 1).ToString("yyyy/mm/dd") };
ListCompanies.Add(company1);
ListCompanies.Add(company2);
ListCompanies.Add(company3);
var Exp = ListCompanies.Where(e => ListCompanies.Contains(e.Expense));
这不起作用,因为我收到此错误:
参数 1:无法从 'int' 转换为 'Project1.Company
我知道我可以像这样从 LINQ 查询中获取直接值:
var CompanyName = ListCompanies.Where(cn => cn.Name.Contains("X"));
这会给我所有包含“X”的公司名称。 ListConpanies中的所有公司名称是不是都可以获取?
希望我没有说不清楚。
谢谢!
【问题讨论】:
-
你在问什么...? “我想使用 LINQ 从列表中返回所有薪水。”,然后您问“难道不能在 ListConpanies 中获取所有公司名称吗?”
标签: linq