Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言编写字符串#_C#_String - Fatal编程技术网

C# 用C语言编写字符串#

C# 用C语言编写字符串#,c#,string,C#,String,是否有任何方法可以在使用分隔符拆分字符串并使用默认字符串填充其余字符串后返回固定长度数组。 例如 下次指定您要询问的语言。我们不是猜测者 在Java中: fullName.split(" "); 无论如何,如果没有中间名,没有方法会“返回长度为3且第二个元素设置为空的字符串数组”。对于该方法,只有两个元素。你必须自己编写这个方法来包装标准的split()方法。你应该仔细阅读Jon Skeet的方法。在将来发布StackOverflow问题时,这将对您有所帮助 在C#中没有方法去做你要做的事情,

是否有任何方法可以在使用分隔符拆分字符串并使用默认字符串填充其余字符串后返回固定长度数组。 例如


下次指定您要询问的语言。我们不是猜测者

在Java中:

fullName.split(" ");

无论如何,如果没有中间名,没有方法会“返回长度为3且第二个元素设置为空的字符串数组”。对于该方法,只有两个元素。你必须自己编写这个方法来包装标准的split()方法。

你应该仔细阅读Jon Skeet的方法。在将来发布StackOverflow问题时,这将对您有所帮助

在C#中没有方法去做你要做的事情,但是你可以很容易地写一篇文章来做我认为你要做的事情

下面是一个简单的例子:

public static class AbreviatorExtention
    {

        public static string[] GetInitials(this String str, char splitChar)
        {
            string[] initialArray = new string[3];
            var nameArray = str.Split(new char[] { splitChar },
                            StringSplitOptions.RemoveEmptyEntries);

            if (nameArray.Length == 2)
            {
                var charArrayFirstName = nameArray[0].ToCharArray();
                var charArrayLastName = nameArray[1].ToCharArray();

                initialArray[0] = charArrayFirstName[0].ToString().ToUpper();
                initialArray[1] = string.Empty;
                initialArray[2] = charArrayLastName[0].ToString().ToUpper();
            }
            else
            {
                for (int i = 0; i < nameArray.Length; i++)
                {
                    initialArray[i] = (nameArray[i].ToCharArray())[1]
                                      .ToString().ToUpper();
                }
            }


            return initialArray;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string FullName = "john doe";

            //Extension method in use
            string[] names = FullName.GetInitials(' ');

            foreach (var item in names)
            {
                Console.WriteLine(item); 
            }

            Console.ReadLine();
        }
    }

我会将其设置为将字符串与固定数组分开。如果您仍然需要一个固定数组,那么您可以将数组的大小设置为三个。然而,这不是最好的方法,因为它没有任何意义。更好的方法是设置person或user类,然后通过规则从拆分字符串填充。

@Austin Salonen:Java字符串大写。随便什么。他必须说明他在说什么。
public static class AbreviatorExtention
    {

        public static string[] GetInitials(this String str, char splitChar)
        {
            string[] initialArray = new string[3];
            var nameArray = str.Split(new char[] { splitChar },
                            StringSplitOptions.RemoveEmptyEntries);

            if (nameArray.Length == 2)
            {
                var charArrayFirstName = nameArray[0].ToCharArray();
                var charArrayLastName = nameArray[1].ToCharArray();

                initialArray[0] = charArrayFirstName[0].ToString().ToUpper();
                initialArray[1] = string.Empty;
                initialArray[2] = charArrayLastName[0].ToString().ToUpper();
            }
            else
            {
                for (int i = 0; i < nameArray.Length; i++)
                {
                    initialArray[i] = (nameArray[i].ToCharArray())[1]
                                      .ToString().ToUpper();
                }
            }


            return initialArray;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string FullName = "john doe";

            //Extension method in use
            string[] names = FullName.GetInitials(' ');

            foreach (var item in names)
            {
                Console.WriteLine(item); 
            }

            Console.ReadLine();
        }
    }
J

D