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
的结果中创建一个字符串。其中(…)
是一个选项