0
我有如下表(数据表):DataTable的LINQ加入C#
CallData
表有场Strike
,MidPrice
和PutData
表的字段Strike
和Midprice
我想加入他们Strike
,选择最低的下列表达式:
Abs(CallData.MidPrice - PutData.MidPrice)
下面是我应该在LINQ条款中看到的图像:
var result = (from CallRow in CallData.AsEnumerable()
join PutRow in PutData.AsEnumerable()
on CallRow.Field<int>("Strike") equals PutRow.Field<int>("Strike")
select new { Abs(CallRow.Field<double>("MidPrice")
- PutRow.Field<double>("MidPrice"))
}).Min();
然而,表达
Abs(CallRow.Field<double>("MidPrice")
由波浪线下划线且该消息说:
无效匿名型部件声明。匿名类型成员必须声明为成员 指定简单名称或成员访问权限。
任何想法如何纠正它?
编辑:伟大的答案Selman22!我发现在link
static void GetNameAndDescription {ProductInfo[] products}
{
Console.WriteLine("Names and Descriptions:")
var nameDesc = from p in product select new {p.Name, p.Description};
}
下面的例子,你知道为什么这个代码是有效的“新”
非常感谢!一个简单的问题。在[link](http://www.amazon.com/C-NET-Platform-Andrew-Troelsen/dp/1893115593)中有以下例子:'' – user1700890