为什么我不能让这些扩展工作?
本文关键字:扩展 工作 不能 为什么 | 更新日期: 2023-09-27 18:13:50
我似乎不能让IList.Union<>或IList.Concat<>做任何事情。
下面是代码。为什么会失败呢?
private void Form1_Load(object sender, EventArgs e)
{
DirectoryInfo C = new DirectoryInfo(@"c:'"); // 5 files here
IList<FileInfo> f = C.GetFiles();
int a = f.Count;
DirectoryInfo D = new DirectoryInfo(@"c:'newfolder"); // 2 files here
IList<FileInfo> g = D.GetFiles();
int b = g.Count;
f.Union(g);
int c = f.Count; // f remains at 5. Why are these not unioning?
f.Concat(g);
int d = f.Count; // f remains at 5. Why are these not concating?
}
"f"在这些情况下都不会改变。如何使Union或Concat发生?
Union
和Concat
返回一个新的IEnumerable<T>
,您需要将其分配回去:
f = f.Union(g).ToList(); // since the type is IList<FileInfo>