ここで間違っていることがわかりません。私は、2つのオプションのうちの1つを入力して、関連するオプションのコストを表示するプログラムを持っています。C# 'System.FormatException'の未処理の例外がmscorlib.dllで発生しました
私は、エラーメッセージ取得しています「タイプ 『にSystem.FormatException』の未処理の例外がmscorlib.dll
で発生しました追加情報:文字列が正確に1文字の長さでなければなりません。」
私のコードで何が間違っていますか?以下を参照してください:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace computerPackage
{
class Program
{
static void Main(string[] args)
{
char computerPackage;
const decimal DELUXE_PACKAGE = 1500;
const decimal SUPER_PACKAGE = 1700;
Console.Write("Input the Computer Package D or S: ");
computerPackage = char.Parse(Console.ReadLine());
computerPackage = Char.ToUpper(computerPackage);
if (computerPackage == 'D')
{
Console.WriteLine("Cost of Deluxe Computer Package is " + DELUXE_PACKAGE.ToString("D"));
}
else if (computerPackage == 'S')
{
Console.WriteLine("Cost of Deluxe Computer Package is " +
SUPER_PACKAGE.ToString("S"));
}
else
{
Console.WriteLine("Package D or S not entered");
}
Console.WriteLine("Press any key to continue...");
Console.ReadKey(); // pause
}
}
}
あなたの入力(Console.Readline())を正確に1文字確認してみてください。あなたのchar.Parseメソッドがあまりにも多くの入力を取得しているようです。 – Dominik