首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LINQ在Varray中添加值

使用LINQ在Varray中添加值
EN

Stack Overflow用户
提问于 2013-08-30 07:49:06
回答 3查看 125关注 0票数 1

我有一个varray字符串:

代码语言:javascript
复制
string[] imgList = new[] { };

我检索文件列表:

代码语言:javascript
复制
DirectoryInfo directory = new DirectoryInfo(path);
FileInfo[] files = directory.GetFiles("*.jpg");

我想使用LINQ添加我的varray结果。有些人是这样的:

代码语言:javascript
复制
imgList = files.Where(x => x.FullName).ToList();

我怎么能这么做?

EN

回答 3

Stack Overflow用户

发布于 2013-08-30 07:54:31

就像这样:

代码语言:javascript
复制
DirectoryInfo directory = new DirectoryInfo(path);
FileInfo[] files = directory.GetFiles("*.jpg");

string[] imgList = files.Select(p => p.Name).ToArray();

// or, without LINQ, probably a little faster:

string[] imgList = Array.ConvertAll(files, p => p.Name);

请注意,在这两种情况下,您都不需要事先创建数组,因为Array.Convert/.ToArray()返回了一个新数组。

票数 2
EN

Stack Overflow用户

发布于 2013-08-30 07:53:15

代码中有一些错误。

首先,您有不正确的字符串数组声明,

其次,您正在尝试将.ToList()转换为字符串数组。所以试试这样的方法

代码语言:javascript
复制
 string[] imgList = new string[] { };
 DirectoryInfo directory = new DirectoryInfo(path);
 FileInfo[] files = directory.GetFiles("*.jpg");

 imgList = files.Where(x => x.FullName == "myCondition").Select(x => x.FullName).ToArray();
票数 1
EN

Stack Overflow用户

发布于 2013-08-30 07:53:52

有一个返回数组的方法,以及返回List<T>的方法,所以请尝试:

代码语言:javascript
复制
imgList = files.Select(x => x.FullName).ToArray();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18527657

复制
相关文章

相似问题

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