[英]How to add values to multiple variables into one single variable? | C#
如何將多個變量的值添加到C#中的一個變量中?
例如,我聲明了三個變量
decimal number1 = 53m;
decimal number2 = 33m;
decimal total;
現在,當我這樣做的時候
total = number1 + number2;
它給出了一個錯誤“使用未分配的局部變量”
即使這樣也行不通
total = number1;
total = number2;
它也行不通
total += number1
total += number2
我知道在文本框中我們喜歡這樣,所以,我認為它也適用於變量,但事實並非如此。
totaltextbox.text += textbox.text1
totaltextbox.text += textbox.text2
編輯:
現在它在我將聲明中的每個值分配給每個變量后工作。
之前我只在if語句中分配了它們,這導致了問題。 看看我的方法,例如,
private decimal OilLubeCharges()
{
decimal oilChange_var=0m;
decimal lubeJob_var=0m;
decimal oilLube_var=0m;
decimal totalOiltLubeCharges_var=0m;
if (oilChangeCheckBox.Checked)
{
oilChange_var = 26.00m;
}
else if (lubeJobCheckBox.Checked)
{
lubeJob_var = 18.00m;
}
else if (oilChangeCheckBox.Checked && lubeJobCheckBox.Checked)
{
oilLube_var = 26.00m + 18.00m;
}
totalOiltLubeCharges_var = oilChange_var + lubeJob_var + oilLube_var;
我不明白我是否在if語句中給變量賦值,然后它也應該工作。 為什么他們需要在一開始就給出一個價值?
感謝所有付出努力的人。 尊重!
使用未分配的局部變量意味着:
decimal total;
這已被聲明,但它沒有任何價值,你試圖在它有一個值之前使用它 。 這里沒有任務。
所以你初始化它:
decimal total = 0;
你的問題現在消失了。
但是,如果您嘗試使用未初始化的變量,這只會是一個錯誤 。
所以技術上:
decimal val1 = 10;
decimal val2 = 10;
decimal total;
total = val1 + val2; // this works
這也是一樣的
decimal total = val1 + val2; // an assignment.
decimal total; // compiler knows you want a total variable
if (total > 10) // at this point, there is no value in total so how can we compare it
{
Console.WriteLine("This won't compile");
}
private decimal OilLubeCharges()
{
// this is what i **think** you might have started with
decimal oilChange_var;
decimal lubeJob_var;
decimal oilLube_var;
decimal totalOiltLubeCharges_var;
if (oilChangeCheckBox.Checked)
{
oilChange_var = 26.00m;
}
else if (lubeJobCheckBox.Checked)
{
lubeJob_var = 18.00m;
}
else if (oilChangeCheckBox.Checked && lubeJobCheckBox.Checked)
{
oilLube_var = 26.00m + 18.00m;
}
totalOiltLubeCharges_var = oilChange_var + lubeJob_var + oilLube_var;
這里很簡單,因為你已經在頂部定義了變量,然后使用if
語句來定義這些變量是否被設置。 這意味着他們有可能沒有價值 。 這是因為這條線
totalOiltLubeCharges_var = oilChange_var + lubeJob_var + oilLube_var;
在這里,您明確地使用所有變量。 但在那條線之前,你有條件地給它們一個初始值。
因此,例如,如果lubeJobCheckBox.Checked
為false,那么您的lubeJob_var
從未被賦予初始值。 所以你不能使用它 。
這個例子可能對你有幫助。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
decimal number1 = 53m;
decimal number2 = 33m;
decimal total;
total = number1 + number2;
Console.WriteLine(total);
}
}
}
你需要先為總數分配一些值。
decimal total=0;
要么
decimal total = number1 + number2;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.