-1

これが私のコードです:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication7
{
    class Program
    {

        #region//Main() Put everything thats finished in here to output it to Console Apllication.
        static void Main(string[] args)
        {
            FirstPart();
        }
        #endregion



        #region
        static void FirstPart() // don't know what else to call this.
        {
            //Console.WriteLine(numS());// commented out

ここに私の疑問があります。

            string pi = Console.ReadLine();
            PItoArray = pi.ToCharArray(pi.Min(),pi.Max());
            Console.WriteLine(PItoArray);

私の質問があるところの終わり。

        }
        #endregion

        #region //numS() gets number of char in player input.
        //static int numS()
        //{
        //    int num = PlayerInput().Length;
        //    return num;
        //}
        #endregion

        #region//PlayerInput() Gets whatever player writes in console apllication 
        static string PlayerInput()
        {  
            string S = Console.ReadLine();
            return S;
        }
        #endregion

        static char[] PItoArray;



    }
}

詳細は次のとおりです (さらに必要な場合は、お気軽に返信してください。):

すべてを分割するための私の個人的な好みである pi.max の代わりに num.max を使用しようとしましたが、どちらの場合でも、インデックスが負であるか、考えている方法でコレクションよりも大きい範囲外の例外が発生します動作するはずです

  1. 私が書いたものを何でもpi変数に設定します

  2. 次に、各文字を文字配列に分割します

  3. 次に、pi を使用して最小値と最大値を決定します。

  4. 次に、書かれたとおりに正確に書き出す必要があります。元。""hello" 入力 "hello" 出力に変わります。

今ここに私が持っている3つの質問があります:

  1. 私の論理は正しいですか?そうでない場合は、すみませんが、私は 18 歳で、主に自分にできることとできないことを探求するのが好きです。

  2. char 配列の最小値と最大値をどのように使用すればよいですか。もし私がこんにちはと書くなら、私は使うことができます

    char[] Var = pi.ToCharArray(0,5);

    ConsoleWriteLine(Var);

出力は「Hello」ですよね?しかし、「Hello World」と書いた場合、文字列内の文字の量に関係なく、文字列内のすべての文字を取得するにはどうすればよいでしょうか。または、文字列内の文字の量を使用して取得する方法を尋ねるより良い方法ですToCharArray(min,max) の最小値と最大値なので、10 文字の文または 100 文字の文を書いた場合、範囲外の例外が発生することはありませんか?

  1. 単純な 1 ~ 5 行のコードでこれを行う方法はありますか? 私は怠け者ではありませんが、簡単なほど簡単なので、使用してみませんか。
4

3 に答える 3

0

文字列をまったく同じサイズの char 配列に変換する場合は、pi.ToCharArray()引数なしで呼び出すだけで、元の文字列とまったく同じ数の文字を含む char 配列が自動的に作成されます。

pi.Max()また、呼び出しによって返されるのは、想定しているように見える文字列サイズではなく、ASCII テーブルによると最大の文字コードを持つ文字であることに注意してください。(コード 114 を持つ"Hello, world".Max()char を返します- 文字列内の最高の char コード)。'r'

于 2016-09-21T02:44:49.777 に答える
0

こんにちは、また、迅速な回答に感謝します。私は少し違った方法でそれを行いました(運が良かったので、2人のうちの1人がこれを正確に言いました.)ここに私が思いついたものがあります:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SearchCharInString
{
    class Program
    {



        #region//Main() Put everything thats finished in here to output it to Console Apllication.
        static void Main(string[] args)
        {
            FirstPart();
        }
        #endregion



        #region // HERE IS WHERE CHANGED HAPPENED!!
        static void FirstPart()
        {

            Console.WriteLine(PItoArray());
        }
        #endregion



        #region//PlayerInput() Gets whatever player writes in console apllication 
        static string PlayerInput()
        {
            string S = Console.ReadLine();

            return S;
        }
        #endregion

これは私が変更したものです

        #region // HERE IS WHERE CHANGED HAPPENED!!
        static char[]PItoArray() 
            {
            string PI = PlayerInput();

            int piLength = PI.Length;

            return PI.ToCharArray(0,piLength);

            }
        #endregion



    }
}

これが私がそれを呼ぶ方法です

#region // HERE IS WHERE CHANGED HAPPENED!!
    static void FirstPart()
    {

        Console.WriteLine(PItoArray());
    }
    #endregion

それは私の研究に役立つので、私はあなたの答えを認識しています。みんなありがとう。私は今、私は自分の文字を検索して特定のものを見つけることができるはずだと信じています。おそらく、このコードへのアルファベットインデックスを使用してifステートメントから特定の単語を理解することさえできます。

于 2016-09-22T04:29:14.373 に答える