Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Linq组合字符串和列表?_C#_Linq - Fatal编程技术网

C# 如何使用Linq组合字符串和列表?

C# 如何使用Linq组合字符串和列表?,c#,linq,C#,Linq,新手linq用户,但prim_clus_list和ref_clus_list是列表,ref_clus和prim_clus是字符串。我正试着做下面的事情,但它不起作用 string[] clus_list = prim_clus_list.Union(ref_clus_list).Union(ref_clus.ToList()).Union(prim_clus.ToList()).ToArray<string>(); string[]clus\u list=prim\u clus\u

新手linq用户,但prim_clus_list和ref_clus_list是列表,ref_clus和prim_clus是字符串。我正试着做下面的事情,但它不起作用

string[] clus_list = prim_clus_list.Union(ref_clus_list).Union(ref_clus.ToList()).Union(prim_clus.ToList()).ToArray<string>();
string[]clus\u list=prim\u clus\u list.Union(ref\u clus\u list).Union(ref\u clus.ToList()).Union(prim\u clus.ToList()).ToArray();
我如何在一行中完成这项工作?我希望它们都在一个列表中,没有重复项

CS1928:'System.Collections.Generic.IEnumerable'不包含'Union'的定义,并且最佳扩展方法重载'System.Linq.Queryable.Union(System.Linq.IQueryable,System.Collections.Generic.IEnumerable)'具有一些无效参数

此外,仅此一项就可以很好地发挥作用:

string[] clus_list = prim_clus_list.Union(ref_clus_list).ToArray<string>();
string[]clus\u list=prim\u clus\u list.Union(ref\u clus\u list.ToArray();
这就是您需要的:

var prim_clus_list = new List<string>() { "A", "B" };
var ref_clus_list = new List<string>() { "C", "D" };
var ref_clus = "E";
var prim_clus = "F";

string[] clus_list =
    prim_clus_list
        .Union(ref_clus_list)
        .Union(new [] { ref_clus })
        .Union(new [] { prim_clus })
        .ToArray<string>();
var prim_clus_list=new list(){“A”,“B”};
var ref_clus_list=新列表(){“C”,“D”};
var ref_clus=“E”;
var prim_clus=“F”;
字符串[]clus\u列表=
基本俱乐部名单
.Union(参考俱乐部列表)
.Union(新[]{ref_clus})
.Union(新[]{prim_clus})
.ToArray();
这就产生了:

A B C D E F A. B C D E F 基本上,
ref\u clus.ToList()
返回一个
列表
,但是
new[]{ref\u clus}
返回一个
IEnumerable
,可以与
.Union
一起使用这就是您需要的:

var prim_clus_list = new List<string>() { "A", "B" };
var ref_clus_list = new List<string>() { "C", "D" };
var ref_clus = "E";
var prim_clus = "F";

string[] clus_list =
    prim_clus_list
        .Union(ref_clus_list)
        .Union(new [] { ref_clus })
        .Union(new [] { prim_clus })
        .ToArray<string>();
var prim_clus_list=new list(){“A”,“B”};
var ref_clus_list=新列表(){“C”,“D”};
var ref_clus=“E”;
var prim_clus=“F”;
字符串[]clus\u列表=
基本俱乐部名单
.Union(参考俱乐部列表)
.Union(新[]{ref_clus})
.Union(新[]{prim_clus})
.ToArray();
这就产生了:

A B C D E F A. B C D E F
基本上,
ref\u clus.ToList()
返回一个
列表
,但是
new[]{ref\u clus}
返回一个
IEnumerable
,可以与
一起使用。Union
使用
。Append
方法将单个项追加到
IEnumerable

var result = prim_clus_list.Append(ref_clus)
                           .Append(prim_clus)
                           .Union(ref_clus_list)
                           .ToArray();
Union
放在链的末尾以消除重复项


使用
.Append
方法将单个项追加到
IEnumerable

var result = prim_clus_list.Append(ref_clus)
                           .Append(prim_clus)
                           .Union(ref_clus_list)
                           .ToArray();
Union
放在链的末尾以消除重复项


如果
ref\u clus
string
,则
ref\u clus.ToList().ToList()
不应编译,除非您有stringYep的扩展方法,抱歉,忽略了错误。更新。如果您是新手,那么您应该先阅读linq、union和string的文档使用linqaggregate@ChetanRanpariya-如果我们仔细阅读文档,就不需要堆栈溢出:)如果
ref\u clus
string
,那么
ref\u clus.ToList().ToList()
就不应该编译,除非您有stringYep的扩展方法,否则很抱歉,忽略了错误。更新。如果您是新手,那么您应该先阅读linq、union和string的文档使用linqaggregate@ChetanRanpariya-如果我们仔细阅读文档,就不需要StackOverflow了:)我得到了一个
CS0023运算符。“”不能应用于类型为“void”的操作数。
当我尝试此代码时出错?我的错误。我有一个优先的流氓扩展方法。我得到一个
CS0023运算符。“”在我尝试此代码时无法应用于“void”类型的操作数。
错误?我的错误。我有一个优先的流氓扩展方法。