【问题标题】:How to compare values in list<string> aganist list<list<string>>如何将 list<string> 中的值与 list<list<string>> 进行比较
【发布时间】:2017-10-07 17:44:03
【问题描述】:

/// 有效列表

    List<List<string>> newTestList = new List<List<string>>();
    t.Add(new List<string>() { "A", "A" });
    t.Add(new List<string>() { "B", "WILDCARD", "A" });
    List<string> testList = new List<string>() { "O", "A", "A", "B", "O", "A" };


        List<List<string>> t = new List<List<string>>();
        t.Add(new List<string>() { "A", "A" });
        t.Add(new List<string>() { "B", "W",  })
         t.Add(new List<string>() { "A","S" });
        List<string> cart = new List<string>() { "O", "A", "A", "B", "O", "A","S" };

//无效列表

        List<List<string>> t = new List<List<string>>();
        t.Add(new List<string>() { "A", "A" });
        t.Add(new List<string>() { "B", "W", "A","D" });
        List<string> cart = new List<string>() { "O", "A", "A", "B", "O", "A" };

              List<List<string>> t = new List<List<string>>();
        t.Add(new List<string>() { "A", "A" });
        t.Add(new List<string>() { "A","B", "W", "A","D" });
        List<string> cart = new List<string>() { "O", "A", "A", "B", "O", "A" };

如何将 testList 中的值与 newTestList 中的值进行比较。

我想将 testList 中的值与 newTestList 进行比较。 testlist 中的第二个元素与 newTestList 中第一个列表的第一个元素匹配 第三个元素与第二个元素匹配,第四个元素与 newTestList 中第二个列表的第一个元素匹配,依此类推,它与 testList 中的所有元素匹配顺序。 "WILDCARD" 可以匹配任何元素

【问题讨论】:

标签: c# algorithm linq


【解决方案1】:

很难确切地弄清楚您要做什么,但是如果您在使用 LINQ 对 List&lt;List&lt;string&gt;&gt; 时遇到问题,请尝试使用 var 并使用索引访问它,例如一个简单的示例:

List<string> testList = new List<string>() { "A", "A", "A", "B", "O", "A" };
List<string> cart = new List<string>() { "O", "A", "A", "B", "O", "A", "S" };

        var Lists = new[]
        {
            testList,
            cart,
            new List<string>() { "A", "A" },
            new List<string>() { "A", "S" }
        };

        IEnumerable<int> answer = from x in Lists[0]
                                  join y in Lists[3] on x.IndexOf("A") equals y.IndexOf("A")
                                  select x.Length + y.Length;

【讨论】:

  • 您在初始化之前尝试将列表添加到t。我猜你打算写newTestList 来解决这个问题。目前尚不清楚您要完成什么。如果您只希望列表中返回的列表或字符串在 newTestListtestList 之间匹配,请使用此链接中看到的 intersect...c-sharpcorner.com/UploadFile/87b416/…
猜你喜欢
  • 2020-09-28
  • 1970-01-01
  • 2020-11-23
  • 2013-06-09
  • 2020-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-11
相关资源
最近更新 更多