C# 排除列分组LinQ求和的值
我有我的数据表:C# 排除列分组LinQ求和的值,c#,vb.net,linq,C#,Vb.net,Linq,我有我的数据表: ╔═══════════════╦═══════════════╦═══════════════╗ ║ CodTipoMoneda ║ idTipoCuenta ║ Saldo ║ ╠═══════════════╬═══════════════╬═══════════════╣ ║ 002 ║ 10 ║ 854 ║ ║ 003 ║ 21 ║
╔═══════════════╦═══════════════╦═══════════════╗
║ CodTipoMoneda ║ idTipoCuenta ║ Saldo ║
╠═══════════════╬═══════════════╬═══════════════╣
║ 002 ║ 10 ║ 854 ║
║ 003 ║ 21 ║ 500 ║
║ 002 ║ 10 ║ 500 ║
║ 002 ║ 22 ║ 680 ║
║ 003 ║ 20 ║ 130 ║
║ 002 ║ 30 ║ 10 ║
║ 003 ║ 12 ║ 2 ║
╚═══════════════╩═══════════════╩═══════════════╝
我需要通过CodTipoMoneda
对Saldo
列组求和,我有这个代码(它正在工作!)
但我还想添加where
条件,从IDTIPOCUNTA
中排除一些值,例如从IDTIPOCUNTA
中排除值10和20
╔═══════════════╦═══════════════╦═══════════════╗
║ CodTipoMoneda ║ idTipoCuenta ║ Saldo ║
╠═══════════════╬═══════════════╬═══════════════╣
║ 002 ║ 10 ║ 854 ║ (not sum)
║ 003 ║ 21 ║ 500 ║
║ 002 ║ 10 ║ 500 ║ (not sum)
║ 002 ║ 22 ║ 680 ║
║ 003 ║ 20 ║ 130 ║ (not sum)
║ 002 ║ 30 ║ 10 ║
║ 003 ║ 12 ║ 2 ║
╚═══════════════╩═══════════════╩═══════════════╝
我不太了解,非常感谢您的帮助 使用Linq功能:
Dim query = From row In oDT.AsEnumerable()
Group row By Moneda =
New With
{
Key .CodTipoMoneda = row.Field(Of String)("CodTipoMoneda")
} Into NameGroup = Group
Select New With
{
.TipoMoneda = Moneda.CodTipoMoneda,
.Saldo = NameGroup.Where(Function(n) n.Field(Of Decimal)("Saldo") <> 10)
.Sum(Function(r) r.Field(Of Decimal)("Saldo"))
}
Dim query=来自oDT.AsEnumerable()中的行
按Moneda分组行=
新的
{
Key.CodTipoMoneda=行字段(字符串)(“CodTipoMoneda”)
}进入名称组=组
选择“新建”
{
.TipoMoneda=Moneda.CodTipoMoneda,
.Saldo=NameGroup.Where(函数(n)n.字段(十进制)(“Saldo”)10)
.Sum(函数(r)域(十进制)(“Saldo”))
}
我的VB有点生锈,请随意调整。使用Linq功能:
Dim query = From row In oDT.AsEnumerable()
Group row By Moneda =
New With
{
Key .CodTipoMoneda = row.Field(Of String)("CodTipoMoneda")
} Into NameGroup = Group
Select New With
{
.TipoMoneda = Moneda.CodTipoMoneda,
.Saldo = NameGroup.Where(Function(n) n.Field(Of Decimal)("Saldo") <> 10)
.Sum(Function(r) r.Field(Of Decimal)("Saldo"))
}
Dim query=来自oDT.AsEnumerable()中的行
按Moneda分组行=
新的
{
Key.CodTipoMoneda=行字段(字符串)(“CodTipoMoneda”)
}进入名称组=组
选择“新建”
{
.TipoMoneda=Moneda.CodTipoMoneda,
.Saldo=NameGroup.Where(函数(n)n.字段(十进制)(“Saldo”)10)
.Sum(函数(r)域(十进制)(“Saldo”))
}
我的VB有点生锈,所以请随意进行相应的调整