【问题标题】:How to convert a string (red,blue,black) to a string array? [duplicate]如何将字符串(红、蓝、黑)转换为字符串数组? [复制]
【发布时间】:2011-12-08 10:00:07
【问题描述】:

可能重复:
C# Textbox string separation

我想将字符串值(即(红色、蓝色、黑色))传递给字符串数组。我使用了以下代码

string[] splitString = myString;

我收到了这个错误

Error   137 Argument '1': cannot convert from 'string' to 'char[]'  

问候,

【问题讨论】:

    标签: c# asp.net string


    【解决方案1】:
    string[] splitString = myString.Split(",");
    

    【讨论】:

      【解决方案2】:

      尝试String类的Split方法:

      myString.Split(',');
      

      要全面掌握各种场景,您可以访问.Net Perls

      【讨论】:

      • @Azodios....我知道,但我想要字符串数组用于其他用途..
      • @sun 你能解释一下这个问题吗?
      • 我怀疑是否可以将字符串 (ass,dfd,fghfgh) 转换为字符串数组?
      【解决方案3】:

      你应该看看String.Split方法

      string myString = "red,blue,black";
      string[] splitString = myString.Split(',');
      

      【讨论】:

        【解决方案4】:

        您正在尝试将 string 直接分配给 string[] - 这是行不通的。你需要先对字符串做点什么——String.Split 方法看起来很合适:

        string[] splitString = "red,blue,black".Split(',');
        

        【讨论】:

        • @Oded...谢谢...我得到了我想要的解释...
        • @sun 如果这个答案符合您的需要,您应该将其声明为 the 解决方案
        【解决方案5】:
        string myString = "red,blue,black";
        
        string[] splitString = myString.Split(',');
        
        foreach(string s in splitString)
            Console.WriteLine(s);
        

        【讨论】:

        • @Peter Ivavov...string[] splitString = myString.Split(',');给出错误 137 参数 '1': cannot convert from 'string' to 'char[]' error
        • @sun 根据其文档,string.Split() 返回string[] ...您的myString 是什么类型?你试过@PeterIvanov 代码吗?你真的在做.Split('') - 那么编译器应该检测到params char[]-overload
        【解决方案6】:

        像下面这样试试,

                string myString = "red,blue,green";
                string[] splitString = new string[1];
                splitString[0] = myString;
        

        string[] splitString = myString.Split(',');
        

        【讨论】:

        • 好的,那么您对问题的最终结论是什么?
        【解决方案7】:

        【讨论】:

        • ....我知道,但我想将字符串数组用于其他用途
        • 请提供更多信息!你在写什么根本不清楚......给我们例子,给我们代码,让我们了解你想要实现的目标!
        【解决方案8】:

        或者只是一个替代方案:

        string myString = "red,blue,black";
        var strArr = Regex.Split(myString, ",");
        

        【讨论】:

          【解决方案9】:

          如果我正确阅读了您的问题,您并没有尝试拆分字符串,您只需要一个包含一个或多个字符串的数组,对吗?在这种情况下,你会做这样的事情:

          string[] splitString = new string[]{ "red", "blue", "black" };
          

          【讨论】:

            【解决方案10】:

            您的问题是,您尝试将类型分配给类型数组。

            如果你声明了一个数组,那么你需要用 operator new 来初始化它。

            String[] arrayOfString = new String[3];
            

            在上面的代码中,您声明了一个变量arrayOfString,它是一个字符串对象数组。这意味着在 arrayOfString 中你可以期待 String。

            之后,您为三个 String 对象(new String[3])分配了新的数组实例,在此步骤中,您只为三个元素保留内存。

            在此之后,您可以在arrayOfString 中存储任何字符串对象。

            要将对象存储在数组中,您只需使用变量名和索引器。

            arrayOfString[0] = "StackOverflow"; 
            

            在这个例子中,我们将一个字符串分配到索引 0 下的 arryOfString 中。

            在 C# 中,数组的索引从 0 到声明的大小 - 1,在本例中为 2。

            【讨论】:

            • 与 OP 问题有什么联系?您在答案中的任何地方都使用string.Split() 吗?
            • 问题是用户想要拆分任何内容的声明?这只是一个假设,基于数组名称。与 OP 问题的联系是关于为什么不能将 String 分配给 String[]。不仅是在 String 上调用 split 方法的空解决方案。如果 OP 知道差异会问,如何使用分隔符拆分字符串。
            猜你喜欢
            • 2015-08-17
            • 2015-10-23
            • 2016-07-09
            • 1970-01-01
            • 1970-01-01
            • 2012-04-07
            • 2021-12-13
            • 2014-08-05
            相关资源
            最近更新 更多