Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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# &引用;IEnumerable<;字符串>&引用;不包含“的定义”;“拆分”;_C#_.net - Fatal编程技术网

C# &引用;IEnumerable<;字符串>&引用;不包含“的定义”;“拆分”;

C# &引用;IEnumerable<;字符串>&引用;不包含“的定义”;“拆分”;,c#,.net,C#,.net,首先,我的代码用引号分隔,然后用逗号分隔: string source = "\"kk\"jlu,fhhfh,hrhrh,rhrhr"; List<string> data = new List<string>(); var parts = source.Split('\"'); data.AddRange(parts.Where((x, index) => index % 2 != 0)); data.AddRange(parts.Where((x, inde

首先,我的代码用引号分隔,然后用逗号分隔:

string source = "\"kk\"jlu,fhhfh,hrhrh,rhrhr";

List<string> data = new List<string>();

var parts = source.Split('\"');
data.AddRange(parts.Where((x, index) => index % 2 != 0));
data.AddRange(parts.Where((x, index) => index % 2 == 0).Split(','));

var result = string.Join(" | ", data.Where(x => !string.IsNullOrWhiteSpace(x)));
Console.WriteLine(result);

Console.ReadKey();
string source=“\“kk\”jlu、fhhfh、hrhrh、rhr”;
列表数据=新列表();
var parts=source.Split(“\”);
data.AddRange(parts.Where((x,index)=>索引%2!=0));
data.AddRange(parts.Where((x,index)=>index%2==0).Split(',');
var result=string.Join(“|”,data.Where(x=>!string.IsNullOrWhiteSpace(x));
控制台写入线(结果);
Console.ReadKey();
在线:

data.AddRange(parts.Where((x, index) => index % 2 == 0).Split(',')); error:<br>
data.AddRange(parts.Where((x,index)=>index%2==0)。拆分(“,”);错误:
“IEnumerable”不包含“Split”的定义,并且无法找到以“IEnumerable”类型作为第一个参数的可访问扩展方法“Split”

如何使其工作?

这是一个非常复杂的问题,因此您不能在多个字符串上使用它

我猜您想将
SelectMany
Split
一起使用:

data.AddRange(parts.Where((x, index) => index % 2 == 0).SelectMany(x => x.Split(',')));

出现问题的原因是您试图添加字符串数组数组

    string source = "\"kk\"jlu,fhhfh,hrhrh,rhrhr";

    List<string> data = new List<string>();

    var parts = source.Split('\"');
    data.AddRange(parts.Where((x, index) => index % 2 != 0));
    parts.Where((x, index) => index % 2 == 0)
        .ToList()
        .ForEach(x => data.AddRange(x.Split(',')));

    var result = string.Join(" | ", data.Where(x => !string.IsNullOrWhiteSpace(x)));
    Console.WriteLine(result);
string source=“\“kk\”jlu、fhhfh、hrhrh、rhr”;
列表数据=新列表();
var parts=source.Split(“\”);
data.AddRange(parts.Where((x,index)=>索引%2!=0));
其中((x,索引)=>索引%2==0)
托利斯先生()
.ForEach(x=>data.AddRange(x.Split(','));
var result=string.Join(“|”,data.Where(x=>!string.IsNullOrWhiteSpace(x));
控制台写入线(结果);

您需要使用
新字符串(部分)从
Where
的结果中创建一个字符串。其中(…)
是一个选项