将字符串列表从一个列表添加到另一列表 - c#

我有一个外部List BigList,然后在switch语句中有一堆其他List smallList变量。
当我在交换机中遇到这些情况时,我想将它们添加到BigList
但是我也不想添加重复的内容。
我们该怎么做?

private List<string> MyMethod()
{
  List<string> BigList = null;
  for each( string name in MyListOfStringsThatComesIn)
  {
     tName = name;
     switch(tName)
     {
         case "dsdds":
            // List<string> smallerList;
            // add it to BigList
         case "fdfdf":
            // List<string> smallerList2;
            // add it to BigList
         case "vbbughb":
            // List<string> smallerList3;
            // add it to BigList

参考方案

如果不允许重复,我将首先使用HashSet<string>

HashSet<string> bigSet = new HashSet<string>();
// add strings ...

如果要将整个List<string>添加到集合中,可以循环使用bigSet.AddHashSet.UnionWith

case "dsdds":
   bigSet.UnionWith(smallerList);

如果您需要返回列表,可以使用

return new List<string>(bigSet);

将谓词<T>转换为Func <T,bool> - c#

我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…

无法从ArrayList <String>转换为List <Comparable> - java

当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…

jQuery和Gridview更新面板不起作用 - c#

我必须按照某些给定条件实现gridview的闪烁:gridview row blinking based on some conditions我能够成功实现它,但是随后我被要求在5秒钟内自动刷新gridview,为此我使用了ajax更新面板和计时器,但随后出现如下新的JavaScript错误:码: <form id="form1" …

Asp.net发送信息表单到页面 - c#

我正在尝试使用弹出窗口中的新信息更新旧页面。到目前为止,我尝试过将结果保存在会话中Session["Data"] = DLvrijecampingplaatsen.SelectedItem; 然后当它达到Page_Load时,将其重新加载回旧页面if (Session["Data"] != null) { LBkies…

WPF AvalonDock添加文档 - c#

我有一个带有AvalonDock的窗口。在启动时,将打开一个文档,其中充满LocControllers用户控件(LocControllersViewModel)。现在,当双击LocController时,我想让LocController用户控件在新文档中打开。因此,第一个文档始终是概述,充满了LocController用户控件,而其他文档则在双击后添加。我已…