2009-04-02 9 views
0

私はこれに本当に新しいです。私はC#でexeアプリケーションを書く必要があります。私がしなければならないことは、コンソールを通して値を関数に渡せることです。しかし、私は複数の値を扱っていたとき、私は、我々が入力されたものを読むために読む()を使用することができます知っているが、C#で実行可能な関数を書く

...私はコンソールから入力された値を格納することができますどのようになどわかりませんよどうすればいい? ご協力いただければ幸いです!事前に感謝します

+0

この機能はメインですか? – Geo

+0

正確に必要なものを明確にすることはできますか? –

答えて

0

テキストをコードにプログラムでコンパイルしますか?その場合は、MicrosoftからこのKBエントリを読む必要があります。 How to programmatically compile code using C# compiler

また、コンソールからユーザーからの入力を取得する場合は、Console.ReadLine()を使用する必要があります。

Console.Write("Enter your name: "); 
string name = Console.ReadLine(); 

Console.Write("Enter your age: "); 
int age = int.Parse(Console.ReadLine()); 

Console.Write("Hello {0}, you are {1} years old.", name, age); 
+0

私はあなたがこの答えで彼らの頭の上に道を撃ったと思う。彼らは、CodeDOMを使用せずに、コンソールプログラムで入力を読み取る方法を知りたがっています。 –

+0

はい、私はそれを認識したので、簡単な入力収集を追加しました。 – Samuel

+0

はい、あなたはint.TryParseを使うべきですが、簡単にするために省略しました。 – Samuel

2

コンソールアプリケーションにコマンドラインパラメータを渡すことについて言及していますか?そうであれば、それを保持する文字列配列パラメータ(argsなど)があります。 this codeを参照してください。

static void Main(string[] args) 
{ 
} 

Environment.GetCommandLineArgsも使用できます。

5

あなたは(新規プロジェクトで)コンソールアプリケーションテンプレートを選択して起動し

そして、メイン機能では、あなたが

string line = Console.ReadLine(); 

で一度にラインを読むことができるこれはおそらく、あなたの質問にシフトto:文字列から値を取得するには?

一度に単一のintを持っている場合、それはあなたが基本的には手動での解析作業を行うことができます

int x = int.Parse(line); 
0

です。たとえば、入力が年齢順に名前が続く場合。

Natthawut 22 

あなたは、文字列"Nattawut 22"を取得するにはConsole.ReadLine()を使用することができます。そしてString.Split(' ')を使用してください。 {"Natthawut","22"}の配列を取得します。次に、Convert.ToInt32(val)を使用して2番目の要素を整数に変換します。

私はこれを行うには良い方法がなければならないと考えているが、これは、私は通常、それを行う方法です:)

1

うーん、私は彼がrepeatitlyいくつかの値を読み込み、関数に渡す方法を疑問に思っていると思います。

このため、単純なwhileループを使用できます。

Console.WriteLine("Please enter your birthday in the format YY-MM-DD : "); 
string line = Console.ReadLine(); 
string[] parts = line.Split(new char[] { '-' }); 
int age = CalculateAge(parts[0],parts[1],parts[2]); 
Console.WriteLine("You are {0} years old.", age); 

そして、いくつかの入力チェックを行う-PLEASE-:

string data = Console.ReadLine(); 
do { 
    dummyFunction(data); 
    data = Console.ReadLine(); 
} while (data != ""); 
0
int year, month, day; 
Console.WriteLine("Please enter your birth year : "); 
year = int.Parse(Console.ReadLine()); 
Console.WriteLine("Please enter your birth month : "); 
month = int.Parse(Console.ReadLine()); 
Console.WriteLine("Please enter your birth day : "); 
day = int.Parse(Console.ReadLine()); 
Console.Write("You are "); 
Console.Write(CalculateAge(year, month, day)); 
Console.Write(" years old."); 

別の方法はこれです。

関連する問題