C#で足し算する方法|+演算子・変数・入力値の計算を初心者向けに解説
はじめに
C#で足し算をするには、基本的に「+演算子」を使います。整数同士の足し算、小数の足し算、変数を使った計算、キーボードから入力された値の計算など、さまざまな場面で同じ考え方を使えます。
たとえば、次のように書くと、10と20を足し算できます。
C#int result = 10 + 20;
Console.WriteLine(result);
実行結果は次のとおりです。
30
C#の足し算は初心者でも理解しやすい基本的な処理ですが、文字列の結合、入力値の型変換、小数の扱い、オーバーフローなどでつまずくことがあります。
この記事では、C#で足し算する方法を、+演算子の基本から、変数、入力値、実用例まで初心者向けに解説します。
1. C#で足し算する基本
C#で足し算をする基本はとてもシンプルです。数値と数値の間に+を置くことで、足し算を行えます。
1-1. C#の足し算は「+演算子」を使う
C#では、足し算に+演算子を使います。
C#10 + 20
この式は、10と20を足し算するという意味です。
+は、数値同士に使うと足し算になります。一方で、文字列に使うと文字列結合になります。
C#Console.WriteLine(10 + 20);
Console.WriteLine("10" + "20");
実行結果は次のようになります。
30
1020
10 + 20は数値の足し算なので30になりますが、"10" + "20"は文字列の結合なので1020になります。
C#で足し算をするときは、扱っているデータが数値なのか文字列なのかを意識することが大切です。
1-2. 数値同士を足し算する基本構文
C#で数値同士を足し算する基本構文は次のとおりです。
C#数値1 + 数値2
実際のコードでは、次のように書きます。
C#int answer = 5 + 3;
このコードでは、5 + 3の結果である8が、answerという変数に代入されます。
複数の数値を足し算することもできます。
C#int total = 10 + 20 + 30;
Console.WriteLine(total);
実行結果は次のとおりです。
60
C#では、左から順番に計算されるため、10 + 20 + 30は最終的に60になります。
1-3. 足し算の結果を画面に表示する方法
足し算の結果を画面に表示するには、Console.WriteLineを使います。
C#Console.WriteLine(10 + 20);
実行結果は次のとおりです。
30
変数に入れた計算結果を表示することもできます。
C#int result = 15 + 25;
Console.WriteLine(result);
実行結果は次のとおりです。
40
メッセージと一緒に表示したい場合は、文字列補間を使うと読みやすくなります。
C#int result = 15 + 25;
Console.WriteLine($"足し算の結果は {result} です。");
実行結果は次のとおりです。
足し算の結果は 40 です。
初心者のうちは、計算結果を変数に入れてからConsole.WriteLineで表示すると、処理の流れを理解しやすくなります。
2. C#で数値を直接足し算する方法
C#では、変数を使わずに数値を直接足し算できます。まずは整数や小数をそのまま計算する方法を見ていきましょう。
2-1. int型の整数を足し算する
整数の足し算には、よくint型を使います。int型は、整数を扱うための基本的な型です。
C#int result = 10 + 5;
Console.WriteLine(result);
実行結果は次のとおりです。
15
int型では、小数点のない数値を扱います。
C#int a = 100;
int b = 200;
int total = a + b;
Console.WriteLine(total);
実行結果は次のとおりです。
300
年齢、個数、回数、点数など、小数を必要としない値の足し算ではint型がよく使われます。
2-2. double型・decimal型の小数を足し算する
小数を足し算する場合は、double型やdecimal型を使います。
double型は、一般的な小数計算でよく使われます。
C#double result = 1.5 + 2.3;
Console.WriteLine(result);
実行結果は次のとおりです。
3.8
一方、金額のように正確さが重要な小数計算では、decimal型を使うことが多いです。
C#decimal price1 = 120.5m;
decimal price2 = 80.3m;
decimal total = price1 + price2;
Console.WriteLine(total);
実行結果は次のとおりです。
200.8
decimal型の数値には、末尾にmを付けます。
C#decimal number = 10.5m;
小数の足し算では、用途に応じて型を選ぶことが重要です。一般的な計算ならdouble、お金の計算ならdecimalを使うと覚えておくとよいでしょう。
2-3. 足し算結果を変数に代入する
足し算した結果は、変数に代入できます。
C#int total = 10 + 20;
Console.WriteLine(total);
このコードでは、10 + 20の結果である30がtotalに入ります。
計算結果を変数に保存しておくと、あとから別の処理で再利用できます。
C#int subtotal = 1000 + 500;
int shippingFee = 300;
int total = subtotal + shippingFee;
Console.WriteLine(total);
実行結果は次のとおりです。
1800
このように、足し算の結果を一度変数に入れておくと、プログラムの意味が分かりやすくなります。
3. 変数を使って足し算する方法
実際のプログラムでは、数値を直接書くよりも、変数を使って足し算する場面が多くあります。
3-1. 変数を宣言して数値を代入する
C#で変数を使うには、まず型と変数名を指定して宣言します。
C#int a = 10;
int b = 20;
このコードでは、aに10、bに20を代入しています。
変数を使うことで、数値に意味を持たせることができます。
C#int applePrice = 100;
int orangePrice = 150;
このように書くと、単に100や150と書くよりも、何の値なのかが分かりやすくなります。
3-2. 複数の変数を足し算する
変数同士を足し算するには、数値を直接足す場合と同じように+を使います。
C#int a = 10;
int b = 20;
int result = a + b;
Console.WriteLine(result);
実行結果は次のとおりです。
30
3つ以上の変数を足し算することもできます。
C#int score1 = 80;
int score2 = 90;
int score3 = 75;
int totalScore = score1 + score2 + score3;
Console.WriteLine(totalScore);
実行結果は次のとおりです。
245
複数の値を合計したい場合は、このように+をつなげて書けます。
3-3. 計算結果を別の変数に保存する
計算結果は、別の変数に保存して使うことができます。
C#int price = 1000;
int tax = 100;
int totalPrice = price + tax;
Console.WriteLine(totalPrice);
実行結果は次のとおりです。
1100
変数名を分かりやすくすると、コードの意味も理解しやすくなります。
C#int itemPrice = 1200;
int deliveryFee = 500;
int paymentAmount = itemPrice + deliveryFee;
Console.WriteLine($"支払金額は {paymentAmount} 円です。");
実行結果は次のとおりです。
支払金額は 1700 円です。
resultやtotalのような名前も使えますが、実用的なコードではtotalPriceやtotalScoreのように、何の合計なのかが分かる名前を付けるとよいでしょう。
4. 入力値を使って足し算する方法
C#では、キーボードから入力された値を使って足し算することもできます。ただし、Console.ReadLineで受け取った値は文字列なので、数値に変換してから計算する必要があります。
4-1. Console.ReadLineで数値を入力する
コンソールアプリで入力を受け取るには、Console.ReadLineを使います。
C#Console.WriteLine("数値を入力してください:");
string input = Console.ReadLine();
このコードでは、ユーザーが入力した内容をinputという文字列変数に保存しています。
たとえば、ユーザーが10と入力しても、Console.ReadLineの戻り値は文字列の"10"です。
そのため、そのまま足し算しようとすると、数値の計算ではなく文字列として扱われる場合があります。
4-2. 入力された文字列をint.Parseで数値に変換する
入力された文字列を整数に変換するには、int.Parseを使います。
C#Console.WriteLine("数値を入力してください:");
string input = Console.ReadLine();
int number = int.Parse(input);
Console.WriteLine(number + 10);
ユーザーが20と入力した場合、実行結果は次のようになります。
30
int.Parse(input)によって、文字列の"20"が整数の20に変換されます。
ただし、ユーザーがabcのような数値ではない文字を入力すると、エラーになります。そのため、実用的なプログラムでは後で紹介するTryParseを使う方が安全です。
4-3. 2つの入力値を足し算して表示する
2つの数値を入力して足し算するプログラムは、次のように書けます。
C#Console.WriteLine("1つ目の数値を入力してください:");
string input1 = Console.ReadLine();
Console.WriteLine("2つ目の数値を入力してください:");
string input2 = Console.ReadLine();
int number1 = int.Parse(input1);
int number2 = int.Parse(input2);
int result = number1 + number2;
Console.WriteLine($"足し算の結果は {result} です。");
たとえば、10と25を入力すると、実行結果は次のようになります。
足し算の結果は 35 です。
ポイントは、入力された値をそのまま足すのではなく、int.Parseで数値に変換してから足し算することです。
4-4. TryParseを使って安全に数値変換する
int.Parseは、数値に変換できない文字列が入力されるとエラーになります。そこで、安全に変換したい場合はint.TryParseを使います。
C#Console.WriteLine("1つ目の数値を入力してください:");
string input1 = Console.ReadLine();
Console.WriteLine("2つ目の数値を入力してください:");
string input2 = Console.ReadLine();
bool success1 = int.TryParse(input1, out int number1);
bool success2 = int.TryParse(input2, out int number2);
if (success1 && success2)
{
int result = number1 + number2;
Console.WriteLine($"足し算の結果は {result} です。");
}
else
{
Console.WriteLine("正しい数値を入力してください。");
}
TryParseは、変換に成功するとtrue、失敗するとfalseを返します。
この方法なら、ユーザーが数値以外を入力してもプログラムが突然止まりにくくなります。入力値を使ってC#で足し算する場合は、TryParseを使うと安全です。
5. C#の足し算で初心者が間違えやすいポイント
C#の足し算は基本的には簡単ですが、初心者がつまずきやすいポイントがあります。特に、文字列、型変換、小数、オーバーフローには注意が必要です。
5-1. 文字列の「+」は結合になる
C#では、+は数値同士に使うと足し算になりますが、文字列に使うと結合になります。
C#Console.WriteLine(10 + 20);
Console.WriteLine("10" + "20");
実行結果は次のとおりです。
30
1020
また、数値と文字列を組み合わせると、文字列結合になることがあります。
C#int number = 10;
Console.WriteLine("結果:" + number + 20);
実行結果は次のようになります。
結果:1020
これは、"結果:" + numberの時点で文字列になり、その後の+ 20も文字列結合として処理されるためです。
数値の足し算を先に行いたい場合は、かっこを使います。
C#int number = 10;
Console.WriteLine("結果:" + (number + 20));
実行結果は次のとおりです。
結果:30
文字列と数値を一緒に表示する場合は、文字列補間を使うと分かりやすくなります。
C#int number = 10;
int result = number + 20;
Console.WriteLine($"結果:{result}");
5-2. 数値変換を忘れると計算できない
Console.ReadLineで入力された値は、必ず文字列として扱われます。
C#string input1 = "10";
string input2 = "20";
Console.WriteLine(input1 + input2);
実行結果は次のとおりです。
1020
この場合、input1とinput2は文字列なので、+は足し算ではなく結合になります。
数値として足し算したい場合は、int.Parseなどで変換します。
C#string input1 = "10";
string input2 = "20";
int number1 = int.Parse(input1);
int number2 = int.Parse(input2);
Console.WriteLine(number1 + number2);
実行結果は次のとおりです。
30
入力値を足し算するときは、「入力値は文字列」「計算前に数値変換が必要」と覚えておきましょう。
5-3. int型とdouble型を混ぜて計算する場合の注意点
int型とdouble型を混ぜて足し算すると、結果はdouble型として扱われます。
C#int a = 10;
double b = 2.5;
double result = a + b;
Console.WriteLine(result);
実行結果は次のとおりです。
12.5
このように、整数と小数を足し算すると、小数を扱える型に合わせて計算されます。
ただし、結果をint型に入れようとするとエラーになります。
C#int a = 10;
double b = 2.5;
// int result = a + b; // エラー
小数を含む計算では、結果をdoubleやdecimalなど、小数を扱える型に代入しましょう。
どうしても整数にしたい場合は、明示的な変換が必要です。
C#int a = 10;
double b = 2.5;
int result = (int)(a + b);
Console.WriteLine(result);
実行結果は次のとおりです。
12
この場合、小数部分は切り捨てられます。意図しない結果にならないように注意しましょう。
5-4. オーバーフローが起きるケース
int型には扱える数値の範囲があります。非常に大きな数値を足し算すると、範囲を超えてオーバーフローが起きることがあります。
C#int max = int.MaxValue;
int result = max + 1;
Console.WriteLine(result);
環境や設定によっては、想定外の値になることがあります。
オーバーフローを検出したい場合は、checkedを使います。
C#try
{
checked
{
int max = int.MaxValue;
int result = max + 1;
Console.WriteLine(result);
}
}
catch (OverflowException)
{
Console.WriteLine("オーバーフローが発生しました。");
}
大きな数値を扱う可能性がある場合は、long型を使うことも検討します。
C#long a = 2000000000;
long b = 2000000000;
long result = a + b;
Console.WriteLine(result);
実行結果は次のとおりです。
4000000000
intで足りない大きな整数を扱う場合は、longを使うと安全です。
6. C#で足し算を使う実用例
ここからは、C#の足し算を実際に使う例を紹介します。合計金額、テストの点数、複数入力、連続した数値の合計など、よくあるパターンを見ていきましょう。
6-1. 合計金額を計算する
商品の金額を足し算して、合計金額を計算する例です。
C#int item1 = 1200;
int item2 = 800;
int item3 = 500;
int total = item1 + item2 + item3;
Console.WriteLine($"合計金額は {total} 円です。");
実行結果は次のとおりです。
合計金額は 2500 円です。
消費税や送料を足す場合は、次のように書けます。
C#int itemTotal = 2500;
int tax = 250;
int shippingFee = 500;
int paymentAmount = itemTotal + tax + shippingFee;
Console.WriteLine($"支払金額は {paymentAmount} 円です。");
実行結果は次のとおりです。
支払金額は 3250 円です。
金額に小数が関係する場合は、decimal型を使うとよいでしょう。
C#decimal price1 = 1200.5m;
decimal price2 = 800.25m;
decimal total = price1 + price2;
Console.WriteLine($"合計金額は {total} 円です。");
6-2. テストの点数を合計する
テストの点数を合計する例です。
C#int math = 80;
int english = 75;
int science = 90;
int totalScore = math + english + science;
Console.WriteLine($"合計点は {totalScore} 点です。");
実行結果は次のとおりです。
合計点は 245 点です。
平均点を出したい場合は、合計点を科目数で割ります。
C#int math = 80;
int english = 75;
int science = 90;
int totalScore = math + english + science;
double average = totalScore / 3.0;
Console.WriteLine($"合計点は {totalScore} 点です。");
Console.WriteLine($"平均点は {average} 点です。");
実行結果は次のとおりです。
合計点は 245 点です。
平均点は 81.66666666666667 点です。
3ではなく3.0で割ることで、小数を含む平均を計算できます。
6-3. 入力された複数の数値を合計する
ユーザーに複数の数値を入力してもらい、その合計を表示する例です。
C#Console.WriteLine("1つ目の数値を入力してください:");
int number1 = int.Parse(Console.ReadLine());
Console.WriteLine("2つ目の数値を入力してください:");
int number2 = int.Parse(Console.ReadLine());
Console.WriteLine("3つ目の数値を入力してください:");
int number3 = int.Parse(Console.ReadLine());
int total = number1 + number2 + number3;
Console.WriteLine($"合計は {total} です。");
たとえば、10、20、30を入力すると、実行結果は次のようになります。
合計は 60 です。
安全に入力処理をしたい場合は、TryParseを使います。
C#Console.WriteLine("1つ目の数値を入力してください:");
bool success1 = int.TryParse(Console.ReadLine(), out int number1);
Console.WriteLine("2つ目の数値を入力してください:");
bool success2 = int.TryParse(Console.ReadLine(), out int number2);
Console.WriteLine("3つ目の数値を入力してください:");
bool success3 = int.TryParse(Console.ReadLine(), out int number3);
if (success1 && success2 && success3)
{
int total = number1 + number2 + number3;
Console.WriteLine($"合計は {total} です。");
}
else
{
Console.WriteLine("数値を正しく入力してください。");
}
ユーザー入力を扱うプログラムでは、数値以外が入力される可能性を考えておくことが大切です。
6-4. for文を使って連続した数値を足し算する
for文を使うと、連続した数値を順番に足し算できます。
たとえば、1から10までの合計を求める場合は、次のように書きます。
C#int total = 0;
for (int i = 1; i <= 10; i++)
{
total = total + i;
}
Console.WriteLine($"1から10までの合計は {total} です。");
実行結果は次のとおりです。
1から10までの合計は 55 です。
total = total + i;は、現在のtotalにiを足して、再びtotalに代入するという意味です。
この処理は、次のように短く書くこともできます。
C#total += i;
つまり、次のコードでも同じ結果になります。
C#int total = 0;
for (int i = 1; i <= 10; i++)
{
total += i;
}
Console.WriteLine($"1から10までの合計は {total} です。");
+=は、足し算して代入するための演算子です。C#で合計値を計算するときによく使われます。
7. C#の足し算に関するよくある質問
C#で足し算を学び始めた人が疑問に思いやすい点をまとめます。
7-1. C#で足し算と文字列結合はどう違う?
C#では、+を数値に使うと足し算になり、文字列に使うと結合になります。
C#Console.WriteLine(10 + 20);
Console.WriteLine("10" + "20");
実行結果は次のとおりです。
30
1020
10と20は数値なので足し算されます。一方、"10"と"20"は文字列なので結合されます。
入力値を足し算したいのに1020のように表示される場合は、文字列のまま計算している可能性があります。
7-2. 入力した数字を足し算できない原因は?
よくある原因は、Console.ReadLineで受け取った値を数値に変換していないことです。
Console.ReadLineの戻り値は文字列です。
C#string input1 = Console.ReadLine();
string input2 = Console.ReadLine();
Console.WriteLine(input1 + input2);
このコードでは、数値の足し算ではなく文字列結合になります。
足し算したい場合は、次のように変換します。
C#int number1 = int.Parse(input1);
int number2 = int.Parse(input2);
Console.WriteLine(number1 + number2);
また、入力ミスに対応したい場合は、int.TryParseを使うと安全です。
C#if (int.TryParse(input1, out int number1) &&
int.TryParse(input2, out int number2))
{
Console.WriteLine(number1 + number2);
}
else
{
Console.WriteLine("数値を入力してください。");
}
7-3. 小数を正確に足し算するにはどの型を使う?
金額のように正確さが重要な小数を足し算する場合は、decimal型を使うのがおすすめです。
C#decimal price1 = 0.1m;
decimal price2 = 0.2m;
decimal total = price1 + price2;
Console.WriteLine(total);
decimal型の数値には、末尾にmを付けます。
C#decimal tax = 0.1m;
一般的な小数計算ではdoubleも使えますが、お金の計算では誤差を避けるためにdecimalを使うことが多いです。
7-4. 3つ以上の数値を足し算するには?
3つ以上の数値も、+をつなげて書けば足し算できます。
C#int total = 10 + 20 + 30;
Console.WriteLine(total);
実行結果は次のとおりです。
60
変数を使う場合も同じです。
C#int a = 10;
int b = 20;
int c = 30;
int total = a + b + c;
Console.WriteLine(total);
数値の数が多い場合は、配列とfor文を使うと便利です。
C#int[] numbers = { 10, 20, 30, 40, 50 };
int total = 0;
for (int i = 0; i < numbers.Length; i++)
{
total += numbers[i];
}
Console.WriteLine(total);
実行結果は次のとおりです。
150
このように、少ない数なら+を直接使い、多い数ならループを使うと効率よく合計できます。
まとめ
C#で足し算するには、基本的に+演算子を使います。
整数の足し算ではint型、小数の足し算ではdouble型やdecimal型を使います。特に金額のように正確さが重要な計算では、decimal型を使うとよいでしょう。
変数を使った足し算では、次のように書けます。
C#int a = 10;
int b = 20;
int result = a + b;
入力値を使って足し算する場合は、Console.ReadLineで受け取った値が文字列である点に注意が必要です。数値として計算するには、int.Parseやint.TryParseを使って変換します。
C#int number1 = int.Parse(Console.ReadLine());
int number2 = int.Parse(Console.ReadLine());
int result = number1 + number2;
また、文字列に対する+は足し算ではなく結合になるため、"10" + "20"は30ではなく1020になります。
C#の足し算はプログラミングの基本ですが、変数、入力値、型変換、ループ処理など多くの基礎につながっています。まずは+演算子を使ったシンプルな足し算から始めて、入力値の計算や複数データの合計にも少しずつ慣れていきましょう。

