C# 在foreach循环中求和/添加两个值

C# 在foreach循环中求和/添加两个值,c#,C#,我想在forach循环中添加数组项。 我的RegionalEarn数组如下所示 [0]Region1=25 [1]Region2=50 我需要最终的RModel。TAX应该是75(25+50)但在我的情况下,它就像2550 我的代码 你在添加字符串,而不是数字。例如,可以在Int32类型上使用该方法尝试将字符串转换为int。其他数字类型具有类似的TryParse方法。如果您的数字带有额外的符号、点或逗号,请应用重载,以接受与数字样式或区域性匹配的FormatProvider string[]

我想在forach循环中添加数组项。 我的
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由税组成。我需要将这些税相加/求和。