代码之家  ›  专栏  ›  技术社区  ›  Bokambo

可枚举结果中的Concat字符串[已关闭]

  •  -3
  • Bokambo  · 技术社区  · 6 年前

    如何实现以下目标?

    string domains = String.Join(",",DomainsTable.AsEnumerable().Select(x => x.Field<string>("Domain").ToString()).ToArray());  
    //D1,D2,D3,D4            
    
    string orgs = String.Join(",", DomainsTable.AsEnumerable().Select(x => x.Field<string>("org").ToString()).ToArray());
    //O1,O2,O3,O4
    
    var DomainOrg = domains.Zip(orgs, (first, second) => first + "|" + second); 
    // i was trying to zip for this but did not get expected result, how it can be done..we can go for other option also
    
    Expected result = D1|O1,D2|O2,D3|O3,D4|O4  
    

    1 回复  |  直到 6 年前
        1
  •  0
  •   CodeCaster    6 年前

    您不应该将两个源集合合并为一个字符串,因为 Zip() 将作为字符集合而不是字符串集合对字符串进行操作。

    以这个简化的例子为例:

    var domains = new [] { "D1", "D2", "D3", "D4" };
    var orgs = new [] { "O1", "O2", "O3", "O4" };
    
    var domainOrgs = domains.Zip(orgs, (first, second) => first + "|" + second);
    
    var joined = string.Join(",", domainOrgs);
    

    joined 包含:

    D1 | O1,D2 | O2,D3 | O3,D4 | O4