C# Linq-如果是负数,则将int设置为0

C# Linq-如果是负数,则将int设置为0,c#,linq,C#,Linq,我正在使用Linq初始化一个类对象,我需要做的是将值设置为0,如果我发现另一个类对象的值是负数,下面是现有代码: public void fillObject(FillData dataToAdd) { Data data = new Data(); Data.Items = dataToAdd.maindata .select( x => new Data.ItemsStruct {

我正在使用Linq初始化一个类对象,我需要做的是将值设置为0,如果我发现另一个类对象的值是负数,下面是现有代码:

public void fillObject(FillData dataToAdd)
{
    Data data = new Data();

    Data.Items = dataToAdd.maindata
        .select(
            x => new Data.ItemsStruct
                     {
                         parameter1inItemsStruct = x.intno1,
                         parameter1inItemsStruct = x.intno2
                     });
}
intno1
intno2
可以是任何值,但如果该值为负数,我希望将其设置为0

有人知道如何在
LINQ
中实现这一点吗?我不想直接引用对象中的每个参数并检查/更改其值,我只想使用
Linq

检查/更改值'inline'

使用

您可以使用:

parameter1inItemsStruct = Math.Max(0, x.intno1),
parameter1inItemsStruct = Math.Max(0, x.intno2)
您可以使用:

parameter1inItemsStruct = Math.Max(0, x.intno1),
parameter1inItemsStruct = Math.Max(0, x.intno2)

类似这样的内容:
parameter1inItemsStruct=x.intno1<0?0:x.intno1
类似这样的内容:
参数1nitemssstruct=x.intno1<0?0:x.intno1

试试:

public void fillObject(FillData dataToAdd)
{
Data data = new Data();

Data.Items = dataToAdd.maindata
.select(x => new Data.ItemsStruct
{

parameter1inItemsStruct = x.intno1<0?0:x.intno1,
parameter1inItemsStruct = x.intno2<0?0:x.intno2

});

}
public void fillObject(FillData dataToAdd)
{
数据=新数据();
Data.Items=dataToAdd.main数据
.select(x=>newdata.ItemsStruct
{
参数1initemssstruct=x.intno1Try:

public void fillObject(FillData dataToAdd)
{
数据=新数据();
Data.Items=dataToAdd.main数据
.select(x=>newdata.ItemsStruct
{

parameter1inItemsStruct=x.Intno1Anymous函数不限于一个表达式。
x=>new Something(x)
也可以写成
x=>{return new Something(x);}
,这种表示法允许使用多个语句/表达式。谢谢,这对我未来的开发也有帮助:)匿名函数不限于一个表达式。
x=>newsomething(x)
也可以写成
x=>{returnnewsomething(x);}
,这种表示法允许使用多个语句/表达式。谢谢,这对我未来的开发也有帮助:)啊哈,谢谢,所以它将0与变量进行比较并返回最大和,在这种情况下,0总是大于负数,但任何大于0的值都将是可接受的值?@DanHall它返回较大的值(不是和)。如果您查看实现,它是:
val1>=val2?val1:val2
感谢您的帮助:)谢谢,因此它将0与变量进行比较并返回最大和,在这种情况下,0总是大于负数,但任何大于0的值都将是可接受的值?@DanHall它返回较大的值(而不是和)。如果您查看实现,它是:
val1>=val2?val1:val2
谢谢您的帮助:)