C#で足し算する方法|+演算子・変数・入力値の計算を初心者向けに解説

はじめに

C#で足し算をするには、基本的に「+演算子」を使います。整数同士の足し算、小数の足し算、変数を使った計算、キーボードから入力された値の計算など、さまざまな場面で同じ考え方を使えます。

たとえば、次のように書くと、1020を足し算できます。

C#
int result = 10 + 20;
Console.WriteLine(result);

実行結果は次のとおりです。

30

C#の足し算は初心者でも理解しやすい基本的な処理ですが、文字列の結合、入力値の型変換、小数の扱い、オーバーフローなどでつまずくことがあります。

この記事では、C#で足し算する方法を、+演算子の基本から、変数、入力値、実用例まで初心者向けに解説します。

1. C#で足し算する基本

C#で足し算をする基本はとてもシンプルです。数値と数値の間に+を置くことで、足し算を行えます。

1-1. C#の足し算は「+演算子」を使う

C#では、足し算に+演算子を使います。

C#
10 + 20

この式は、1020を足し算するという意味です。

+は、数値同士に使うと足し算になります。一方で、文字列に使うと文字列結合になります。

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の結果である30totalに入ります。

計算結果を変数に保存しておくと、あとから別の処理で再利用できます。

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;

このコードでは、a10b20を代入しています。

変数を使うことで、数値に意味を持たせることができます。

C#
int applePrice = 100;
int orangePrice = 150;

このように書くと、単に100150と書くよりも、何の値なのかが分かりやすくなります。

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 円です。

resulttotalのような名前も使えますが、実用的なコードではtotalPricetotalScoreのように、何の合計なのかが分かる名前を付けるとよいでしょう。

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} です。");

たとえば、1025を入力すると、実行結果は次のようになります。

足し算の結果は 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

この場合、input1input2は文字列なので、+は足し算ではなく結合になります。

数値として足し算したい場合は、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; // エラー

小数を含む計算では、結果をdoubledecimalなど、小数を扱える型に代入しましょう。

どうしても整数にしたい場合は、明示的な変換が必要です。

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} です。");

たとえば、102030を入力すると、実行結果は次のようになります。

合計は 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;は、現在のtotaliを足して、再び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

1020は数値なので足し算されます。一方、"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.Parseint.TryParseを使って変換します。

C#
int number1 = int.Parse(Console.ReadLine());
int number2 = int.Parse(Console.ReadLine());

int result = number1 + number2;

また、文字列に対する+は足し算ではなく結合になるため、"10" + "20"30ではなく1020になります。

C#の足し算はプログラミングの基本ですが、変数、入力値、型変換、ループ処理など多くの基礎につながっています。まずは+演算子を使ったシンプルな足し算から始めて、入力値の計算や複数データの合計にも少しずつ慣れていきましょう。