System.Array' 不包含 'Count' 的定义
Posted
技术标签:
【中文标题】System.Array\' 不包含 \'Count\' 的定义【英文标题】:System.Array' does not contain a definition for 'Count'System.Array' 不包含 'Count' 的定义 【发布时间】:2013-11-15 14:27:34 【问题描述】:在我的 C# 项目中,我收到此错误,即 count 的定义不包含 System.Array
protected void Page_Prerender(object sender, EventArgs e)
FileInfo[] fileInfo;
string UpFolder = Server.MapPath("~/data/images/");
DirectoryInfo dir = new DirectoryInfo(UpFolder);
fileInfo = dir.GetFiles();
// here i am getting error
int TotalImages = fileInfo.Count();
for (int count = 0; count < TotalImages; count++)
Image image = new Image();
image.ImageUrl = "~/data/images/" + fileInfo[count].ToString();
image.ID = count.ToString();
DataListImage.Controls.Add(image);
DataListImage.DataSource = dir.GetFiles();
DataListImage.DataBind();
string UpFolder1 = Server.MapPath("~/data/thumbnails/");
DirectoryInfo dir1 = new DirectoryInfo(UpFolder1);
DataListthumbnails.DataSource = dir1.GetFiles();
DataListthumbnails.DataBind();
【问题讨论】:
【参考方案1】:您不需要Count
,而是可以将Length
与数组一起使用来获取计数。
您收到错误是因为您缺少using System.Linq;
要获取TotalImages
,您可以使用
int TotalImages = fileInfo.Length;
【讨论】:
我已经在使用 System.Linq 但是为什么我不能在这里使用 count ???因为计数和长度之间存在一些差异,因为我代表计数图像调整图像大小.. 与图像大小一样,它将相应地进行优化 @SiddiqBaig,Count
将返回数组中元素的总数,与长度相同,它与图像大小无关。请参阅***.com/questions/300522/… 了解长度与计数。【参考方案2】:
虽然Count()
不是“需要”,因为类型是数组,但错误是由于未“使用”正确的命名空间造成的。
Enumerable.Count()
是System.Linq
命名空间中的一个LINQ 扩展 方法。因此,它可以通过以下方式提供:
using System.Linq;
由于数组实现了IEnumerable<T>
,因此当它们可用时,它们可以利用任何此类方法。
【讨论】:
酷,我喜欢这种情况:)以上是关于System.Array' 不包含 'Count' 的定义的主要内容,如果未能解决你的问题,请参考以下文章