簡體   English   中英

名單 <comma-separated strings> =&gt;列表 <string> ?

[英]List<comma-separated strings> => List<string>?

試圖想出一個LINQy方法來做到這一點,但沒有任何事情發生在我身上。

我有一個List <>對象,其中包含一個以逗號分隔的alpha代碼列表的屬性:

lst[0].codes = "AA,BB,DD"
lst[1].codes = "AA,DD,EE"
lst[2].codes = "GG,JJ"

我想要一個這些代碼的列表,希望以字符串列表的形式:

result = AA,BB,DD,EE,GG,JJ

謝謝你的任何指示。

使用SelectMany獲取所有拆分代碼並使用Distinct不重復這些值。 嘗試這樣的事情:

var result = lst.SelectMany(x => x.codes.Split(",")).Distinct().ToList();

您需要使用Split將每個字符串拆分為多個字符串。 然后,您需要使用SelectMany將多個序列連接成一個序列,然后您需要使用Distinct來刪除重復項。

var result =
    lst
    .SelectMany(x => x.codes.Split(','))
    .Distinct()
    .ToList();

如果你需要一個string作為結果:

string result = string.Join(",",lst.SelectMany(p=>p.codes.Split(",")).Distinct());

嘗試這個:

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

  char[] sep = new char[1];
  sep[0] = ',';
  foreach (string item in lst)
  {
       list.AddRange(item.Split(sep));
  }

  list = list.Distinct().ToList();

暫無
暫無

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

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