2016-05-09 21 views
0
string choice = String.ToUpper(Console.ReadLine()); 

文字列を入力して大文字に変換したいと考えています。Cで入力文字列を大文字に変換する方法

cannot convert from 'string' to System.Globalization.CultureInfo'

を私はConsole.ReadLine()にカーソルを合わせると表示される:しかし、述べてエラーがあります。なぜこれは動作しませんし、そこには何の修正がありますか?これを行う別の方法がありますか?

+0

ToUpper(); ' –

+0

あなたが見ているエラー(「変換できません...」)は、実際の問題を隠していることに注意してください。 (静的でないフィールド、メソッド、またはプロパティのstring.ToUpper '"にオブジェクト参照が必要です) - 解答ごとに解決されます。 –

答えて

2

String.ToUpperはあなたの文字列を「オン」にそれを使用する必要があることを意味し、インスタンスメソッドです:

string input = Console.ReadLine(); 
string choice = input.ToUpper(); 

そうでなければ、あなたがCultureInfoオブジェクトを取得the overloadを使用しています。 StringSystem.Globalization.CultureInfoに変換されないので、コンパイラエラーが発生します。しかし、それはあなたが、インスタンスせずにインスタンスメソッドを使用することはできません、とにかく誤解を招くようですので、これは別のエラーが得られます。

String.ToUpper(CultureInfo.CurrentCulture); // what string you want upper-case??! 

An object reference is required for the non-static field, method, or property 'string.ToUpper(CultureInfo)

方法は、それがstaticである場合にのみ型のインスタンスなしに使用することができます。

0

この方法では機能しません。

string choice = Console.ReadLine().ToUpper(); 

ToUpperメソッドはStringクラスに属します。これは、System.Globalization.CultureInfo型のパラメータをとります。

0

あなたは書くことができます。

文字列の選択=(Console.ReadLine())TOUPPER();。

関連する問題