日期:2014-05-20  浏览次数:20759 次

字段内容是"红/蓝/白“,linq查询后能不能顺便分割了?
目前我是查了之后再循环分割,有没更简单的语句?

例如
第1纪录:"红/蓝/白"
第2纪录:"黑/白"

我想要的结果







------解决方案--------------------
List<string> strs = new List<string> 
{
"红/蓝/白",
"黑/白"
};
var items = strs.SelectMany(i => i.Split('/')).ToList();
------解决方案--------------------
C# code

void Main()
{
    var list= new List<string>  
  {
  "红/蓝/白",
  "黑/白"
  };
  var query=from m in list
            from n in m.Split('/')
            select n;
  query.ToList().ForEach(q=>Console.WriteLine(q));
  
  /*
     红
    蓝
    白
    黑
    白
  */
}

------解决方案--------------------
C# code
            var list = new List<string>  
            {
                "红/蓝/白",
                "黑/白"
            };

            foreach (var v in list.Aggregate((s1, s2) => s1 + "/" + s2).Where(s => s != '/').Select(s => new { item = s }))
            {
                Console.WriteLine(v.item);
            }
            /*
            红
            蓝
            白
            黑
            白

            */