問題タブ [console.readline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
518 参照

c# - C# で後で紹介するために Console.ReadLine をメモリに保持する方法はありますか?

基本的に、「最後の Console.ReadLine() メソッドに入力された内容に "!" が含まれている場合...何かを行う」という if ステートメントを書きたいと思います。

だから、私は方法を持っています:

すべての readLine() には、「!」+ 入力された文字または単に「^」。「^」が入力された場合、stringbuilder の最初のインデックス文字と「^」が削除されます。もし "!" が入力されている場合は、「!」削除されますが、文字は残ります。

ReadLine() から新しい文字列を追加した後、"!" を検索する必要があるため、私のコードは遅いようです。または、ループの反復ごとに潜在的に巨大な文字列の「^」を削除し、再度検索して削除します。「^」と「!」が入力されたため、インデックス値を使用してそれらを置き換えることができました。

入力された値に応じて stringbuilder のサイズが増減するため、ここでインデックス値を取得するのは少し難しいです。

これは興味深い質問をもたらします: "StringBuilder.Replace("abc", "a") のようなものはどのように行われますか? 10,000 文字の長さの文字列の場合、文字列の先頭から検索して「スクロール」しますか? 「abc」を見つけるには? .Append メソッドは、たとえば「!2」を末尾に置いているため、パフォーマンスが低下します。

パフォーマンスを向上させる簡単な答えはありますか?

0 投票する
1 に答える
429 参照

c# - Console.Readline の問題

最初の入力を提供した後、Enter キーを 2 回押す必要があります。私のコードで何が間違っていますか: