簡體   English   中英

&quot;IEnumerable<string> “不包含“拆分”的定義

[英]"IEnumerable <string>" does not contain a definition for "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));
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();

在線的:

data.AddRange(parts.Where((x, index) => index % 2 == 0).Split(',')); error:<br>

“IEnumerable”不包含“Split”的定義,並且無法找到將“IEnumerable”類型作為第一個參數的可訪問擴展方法“Split”

怎么做才能讓它發揮作用?

它是String.Split所以你不能在多個字符串上使用它。

我猜您想將SelectManySplit一起使用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM