C# 在foreach循环中求和/添加两个值
我想在forach循环中添加数组项。 我的C# 在foreach循环中求和/添加两个值,c#,C#,我想在forach循环中添加数组项。 我的RegionalEarn数组如下所示 [0]Region1=25 [1]Region2=50 我需要最终的RModel。TAX应该是75(25+50)但在我的情况下,它就像2550 我的代码 你在添加字符串,而不是数字。例如,可以在Int32类型上使用该方法尝试将字符串转换为int。其他数字类型具有类似的TryParse方法。如果您的数字带有额外的符号、点或逗号,请应用重载,以接受与数字样式或区域性匹配的FormatProvider string[]
RegionalEarn
数组如下所示
[0]Region1=25
[1]Region2=50
我需要最终的RModel。TAX
应该是75(25+50)
但在我的情况下,它就像2550
我的代码
你在添加字符串,而不是数字。例如,可以在Int32类型上使用该方法尝试将字符串转换为int。其他数字类型具有类似的TryParse方法。如果您的数字带有额外的符号、点或逗号,请应用重载,以接受与数字样式或区域性匹配的FormatProvider
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
var sum =0;
foreach (var item in RegionalEarn)
{
var num = 0;
if (Int32.TryParse(item.Split('=')[1], out num))
{
sum = sum + num;
}
else
{
// log error, item.Split('=')[1] is not an int
}
}
RModel.TAX = sum.ToString();
你在添加字符串,而不是数字。例如,可以在Int32类型上使用该方法尝试将字符串转换为int。其他数字类型具有类似的TryParse方法。如果您的数字带有额外的符号、点或逗号,请应用重载,以接受与数字样式或区域性匹配的FormatProvider
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
var sum =0;
foreach (var item in RegionalEarn)
{
var num = 0;
if (Int32.TryParse(item.Split('=')[1], out num))
{
sum = sum + num;
}
else
{
// log error, item.Split('=')[1] is not an int
}
}
RModel.TAX = sum.ToString();
实际上,你做的很像串联。它只包含字符串值。因此,请尝试转换为int或double
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
foreach (var item in RegionalEarn)
{
RModel.TAX = Convert.ToInt32(RModel.TAX) + Convert.ToInt32( item.Split('=')[1]);
}
实际上,你做的很像串联。它只包含字符串值。因此,请尝试转换为int或double
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
foreach (var item in RegionalEarn)
{
RModel.TAX = Convert.ToInt32(RModel.TAX) + Convert.ToInt32( item.Split('=')[1]);
}
这是一个简单的方法
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
foreach (var item in RegionalEarn)
{
RModel.TAX = (int.Parse(RModel.TAX) * item.Split('=').Sum (p => int.Parse(p))).ToString();
}
上面将使用sum()方法将RModel.TAX与项数组中的值的总和相乘。这将为您提供正确的结果 这是一个简单的方法
string[] RegionalEarn = tickets["EARN"].ToString().Split(',');
foreach (var item in RegionalEarn)
{
RModel.TAX = (int.Parse(RModel.TAX) * item.Split('=').Sum (p => int.Parse(p))).ToString();
}
上面将使用sum()方法将RModel.TAX与项数组中的值的总和相乘。这将为您提供正确的结果 像这样尝试
RModel.TAX+=item.Split('=')[1]代码>您的建议与问题中概述的建议有什么不同?我认为没有。@TechGuy 75(25+50)是什么?TAX*(数组值1+数组值2)?@HuseinRoncevic RegionalEarn由税组成。我需要将这些税相加/求和。尝试如下RModel.TAX+=item.Split('=')[1]代码>您的建议与问题中概述的建议有什么不同?我认为没有。@TechGuy 75(25+50)是什么?TAX*(数组值1+数组值2)?@HuseinRoncevic RegionalEarn由税组成。我需要将这些税相加/求和。