如何建立一个最小最大值,从一个字符数组到相同的字符数组输出

本文关键字:字符 一个 数组 输出 何建立 建立 最大值 | 更新日期: 2023-09-27 18:08:04

我的代码:

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;

    }
}

现在这些是细节(如果你需要更多,请随时回复):

我尝试用num.max代替pi。最大,我个人倾向于拆分所有内容,但在这两种情况下,我得到一个超出范围的异常,其中索引是负的或大于集合我认为它应该是这样工作的

  1. 设置变量

  2. 然后将每个字符分割成字符数组

  3. 然后使用pi来确定最小值和最大值。

  4. 那么它应该完全按照它写的方式写出来。前女友。

现在我有三个问题:

  1. 我的逻辑正确吗?如果没有,请原谅,我已经18岁了,我主要喜欢探索我能做什么和不能做什么。

  2. 我如何使用字符数组的最小值和最大值ex.如果我写Hello,我可以使用

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

    ConsoleWriteLine (Var);

输出将是"Hello",对吗?但是如果我写"Hello World"我如何得到字符串中所有的char's而不管字符串中char's的数量,或者更好的方式是我如何使用字符串中char's的数量来获得最小值&最大值ToCharArray(min,max),所以如果我写一个10个字母的句子或100个字母的句子,我永远不会得到一个超出范围的异常?

  • 有办法做到这一点在一个简单的1-5行代码?我不懒,但更简单的是更容易,所以为什么不使用它。
  • 如何建立一个最小最大值,从一个字符数组到相同的字符数组输出

    如果你想将字符串转换为大小完全相同的字符数组,你可以不带任何参数调用pi.ToCharArray(),它将自动创建一个包含原始字符串中完全相同字符数的字符数组。

    还请注意,调用pi.Max()将返回给您的是根据ASCII表具有最高char代码的字符,而不是字符串大小,正如您所假设的那样。("Hello, world".Max()返回字符'r',其代码为114 -字符串中最高的字符代码)。

    你的最大值不能大于pi。长度,这是字符串长度。的第一个参数。最小值是字符串的起始索引。你可以选择最小值为0到最大值之间的任意值。第二个参数。ToCharArray应该是你想要的charArray的长度,它可以是0到Max - Min之间的任何值。你也可以阅读这个文档:字符串。ToCharArray(int32 start, int32 length)

    大家好,再次感谢你们的快速回答,我的做法有点不同(尽管我很幸运,你们两个中的一个说的正是这样),以下是我的想法:

    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
    

    This Is What I Changed

            #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语句中找出某些单词,使用字母表索引到这个代码。