web-dev-qa-db-ja.com

Ubuntu端末はConsole.ReadKey()入力を待機していません

Ubuntu Desktop 14.0.5 LTSでMonoDevelopを使用してC#(.NET)コードを記述しています。単純なHello Worldコードのテスト中に問題が発生しました。以前はWindowsでConsole.ReadKey()ステートメントを使用して、出力を表示した後すぐにコンソールが消えないようにしました。ただし、このトリックはUbuntuでは機能しません。あなたがそれを見る必要がある場合のために、ここにコードがあります:

using System;

namespace Project_1 {
    class MainClass {
        public static void Main (string[] args) {
            Console.WriteLine ("Hello World!");
            Console.ReadKey ();
        }
    }
}

最後の声明にもかかわらず、コンソールは消える前に約1/100秒表示されます。正確には、Console.ReadKey()ステートメントは無視されます(??)。なぜこれが起こっているのか分かりません。私はUbuntuを初めて使用し、数時間前にMonoDevelopをインストールしました。

この問題を修正するにはどうすればよいですか?

3
progyammer

Mono開発ツールの代わりにmono-completeをインストールする必要があります(mono-devel)DebianパッケージからインストールしていないMonoまたはMicrosoft .NET用のソフトウェアを実行する場合はパッケージ。


  1. インストールmono-complete

    Sudo apt-get install mono-complete
    
  2. Hello.csというファイルにC#コードを保存します。

  3. Hello.csを実行可能にします。 hello.csファイルを右クリックして、Properties->Permissionsタブ->の左側にチェックマークを付けて、プログラムとしてファイルの実行を許可します

  4. cdコマンドを使用して、hello.csファイルを含むディレクトリにディレクトリを変更します。

  5. Mcsコンパイラを使用して、ソースhello.csからhello.exeという名前のWindows実行可能ファイルを作成します。

    mcs -out:hello.exe hello.cs
    
  6. モノでhello.exeプログラムを実行します。

    mono hello.exe
    
  7. 手順6でプログラムを実行した結果は次のようになります。

    Hello World!  
    
  8. 押す Enter 終了してデフォルトのターミナルプロンプトに戻ります。

MonoDevelopでC#プログラムを実行する

  1. MonoDevelopをインストールする

    Sudo apt-get install monodevelop # 17.10 and earlier
    
  2. MonoDevelopアプリケーションを開きます。

  3. 新しいプロジェクトを作成します。 SelectFile->New->Solution->。NET->Console Project->コンソールプロジェクトの横のドロップダウンメニューをチェックして、C#が選択されていることを確認します->Nextボタンをクリックします->選択プロジェクトの名前とディレクトリの場所->Createボタンをクリックします。

  4. 左ペインでProgram.csを選択します。 C#コードをProgram.csにコピーします。

  5. Build->Build Allを選択します。

  6. 実行矢印をクリックします  MonoDevelopの左上隅にあるプログラムを実行します。

2
karel