【问题标题】:C# Split() function is not workingC# Split() 函数不起作用
【发布时间】:2017-12-30 03:51:07
【问题描述】:

您好,我是 C# 新手,实际上对编程很陌生,我遇到了拆分功能的问题。我正在尝试将单个字符串从文本框中拆分为多个字符串。

我收到以下错误:

CS1061 'string[]' 不包含 'Split' 的定义并且没有 扩展方法“拆分”接受“字符串 []”类型的第一个参数 可以找到(您是否缺少 using 指令或程序集 参考?)

我做了以下事情: * 检查是否添加了 system.core dll 作为参考 *使用系统检查。Linq 在程序上 *检查目标框架是 4.0

我无法解决这个问题。

错误代码:

string[] sampNumStrings = new string[] { textBoxBarcode.Text };
string[] newSampNumStrings = sampNumStrings.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

【问题讨论】:

  • Split() 用于单个字符串,而不是您尝试做的字符串数组。
  • 您需要在帖子中包含您的代码,而不是屏幕截图。无论如何,您在 array 字符串上调用 .split(),而不是 string
  • 一个文本框也不会返回一个字符串数组,它返回一个字符串,那么你是如何得到一个数组的呢?
  • 感谢大家的意见,所有的答案都非常有帮助。我想这会是我忽略的东西,但我猜这是学习过程的一部分。再次感谢。

标签: c# linq


【解决方案1】:

您将sampNumStrings 定义为字符串的数组,这就是[]string[] 中的含义。数组没有Split() 方法。你应该这样做:

string sampNumStrings = textBoxBarcode.Text;
string[] newSampNumStrings = sampNumStrings.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

或者更好的是,在一行中:

string[] newSampNumStrings = textBoxBarcode.Text.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

【讨论】:

    【解决方案2】:

    因为没有字符串数组的方法。拆分方法适用于String类型。

    string source = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
    string[] result = source.Split(new string[] {"[stop]"}, StringSplitOptions.None);
    

    看到这个:https://docs.microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.7.1#System_String_Split_System_String___System_StringSplitOptions_

    【讨论】:

      【解决方案3】:

      string[] 是一个数组,所以它不支持 Split() 方法。 如果仅从 1 个文本框中获取字符串,则将字符串 [] 替换为字符串。 例子: 字符串 samNumString = txtBarCode.Text; string[] newNumStrings = samNumString.Split(....);

      【讨论】:

        【解决方案4】:

        如果您想根据特定的拆分选项拆分字符串数组,您可以执行以下操作:

         string[] sampNumStrings = new string[] { "Test String", "Test String1", "Test String 2" };
         string[][] newSampNumStrings = sampNumStrings.Select(var=>var.Split(new string[] { " ", "\r", "\n" }, StringSplitOptions.None)).ToArray();
        

        正如其他人所说,您只能对字符串执行拆分操作,而数组不支持拆分操作

        【讨论】:

          猜你喜欢
          • 2014-04-08
          • 1970-01-01
          • 2013-03-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-20
          • 1970-01-01
          相关资源
          最近更新 更多