首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接For Each循环中的字符串

连接For Each循环中的字符串
EN

Stack Overflow用户
提问于 2019-01-02 08:30:19
回答 2查看 265关注 0票数 3

我使用两个for each循环将值连接到一个变量中,这样我就可以在Find/Replace方法中将值写到Word中。我的问题是,下面的语法会将值写入控制台两次,因此这将写入控制台

代码语言:javascript
复制
Shirt - SH11
Hat - HA22
Socks - SO33
Shirt - SH11
Hat - HA22
Shirt - SH11

我希望写入控制台的值只有一次,如下所示:

代码语言:javascript
复制
Shirt - SH11
Hat - HA22
Socks - SH11

这是我的语法:

代码语言:javascript
复制
DataTable table = new DataTable();
table.Columns.Add("Name", typeof(string));
table.Columns.Add("ItemsSold", typeof(string));
table.Columns.Add("ItemIDs", typeof(string));
table.Rows.Add("James Jo", "Shirt; Hat; Socks;", "SH11; HA22; SO33");

var itemsSold = table.Rows[0].Field<string>("ItemsSold").Split(new string[] {"; "}, StringSplitOptions.RemoveEmptyEntries);
var ItemIDs = table.Rows[0].Field<string>("ItemIDs").Split(new string[] {"; "}, StringSplitOptions.RemoveEmptyEntries);

string displayformat = "";

foreach (string is in itemsSold)
{
    foreach (string id in ItemIDs)
    {
        string s = is.Replace(";", "");
        string d = id.Replace(";", "");
        displayformat += s + " - " + d + Environment.NewLine;
    }
}

Console.WriteLine(displayformat);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-02 08:43:20

如果您真的想在循环中执行此操作,则需要将其修改为

代码语言:javascript
复制
for(int i=0;i<itemsSold.Count();i++)
{
    string s = itemsSold[i].Replace(";", "");
    string d = ItemIDs[i].Replace(";", "");
    displayformat += s + " - " + d + Environment.NewLine;
}

但是,请注意,使用Zip方法很容易做到这一点。而不是整个循环,你可以写

代码语言:javascript
复制
displayformat = string.Join(Environment.NewLine,
                     itemsSold.Zip(ItemIDs, 
                     (items, ids) => $"{items} - {ids}").Replace(";",string.Empty));
Console.WriteLine(displayformat);

你可以用here在Enumerable.Zip上阅读

票数 7
EN

Stack Overflow用户

发布于 2019-01-02 19:15:57

您也可以使用Distinct()关键字。将值保存到列表中,并按Distinct()进行筛选

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54000033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档