Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.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#Split()函数不起作用_C#_Linq - Fatal编程技术网

C#Split()函数不起作用

C#Split()函数不起作用,c#,linq,C#,Linq,您好,我是c#新手。事实上,我对编程相当陌生,我对分割函数有问题。我正在尝试将文本框中的单个字符串拆分为多个字符串 我得到以下错误: CS1061“string[]”不包含“Split”和“no”的定义 扩展方法“Split”接受类型为“string[]”的第一个参数 无法找到(是否缺少using指令或程序集 参考?) 我已经做了以下工作: *选中以查看system.core dll是否作为引用添加 *使用系统检查。Linq在程序中 *已检查目标框架,该框架为4.0 我没办法解决这个问题 错误代

您好,我是c#新手。事实上,我对编程相当陌生,我对分割函数有问题。我正在尝试将文本框中的单个字符串拆分为多个字符串

我得到以下错误:

CS1061“string[]”不包含“Split”和“no”的定义 扩展方法“Split”接受类型为“string[]”的第一个参数 无法找到(是否缺少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方法用于字符串类型

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

请参见:

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

您正在将
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);

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

 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();

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

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