c# - 在 for 循环中向 2D 数组添加数据
问题描述
我想制作一个简单的应用程序,在 listview 列中列出文件夹中的所有文件,而子目录路径是另一列。为此,我创建了一个二维数组并尝试将文件名添加到第一列,并将路径添加到另一列。这是我的代码
{
string pathtoList;
string fileName;
string DirName;
pathtoList = (@"D:\Videos");
string[] allFileNames = System.IO.Directory.GetFiles(pathtoList, "*.*", System.IO.SearchOption.AllDirectories);
string[,] call1= new string[allFileNames.Length,2];
for (int i = 0; i< allFileNames.Length; i++)
{
fileName = System.IO.Path.GetFileNameWithoutExtension(allFileNames[i].ToString());
DirName = System.IO.Path.GetDirectoryName(allFileNames[i].ToString());
call1[0, i] = fileName;
call1[1, i] = DirName;
}
}
当我这样做时,我得到异常“索引超出了数组的范围。” 谁能告诉这条鳕鱼有什么问题?谢谢
解决方案
你声明了 Array
[allFileNames.Length,2]
然后你切换索引,这是一个解决方案
call1[i, 0] = fileName;
call1[i, 1] = DirName;
推荐阅读
- python - 如何获取字符串上的所有子字符串(用户输入)
- android - NestedScrollview + Coordinator Layout + SmartTabLayout 具有带有片段的 viewpager 滚动无限问题
- jquery - 猫头鹰旋转木马没有按预期工作
- ios - 插座已连接,但在展开可选值时意外发现 nil
- python - 仅考虑第一个匹配项 (Python Re)
- java - 氧气 IDE 未启动
- java - 没有获取系统类的 setProperty 方法
- java - 错误:任务“:app:processDebugResources”执行失败。> 错误:多个库的包名称为“android.support.graphics.drawable”
- ios - 摆脱重复项目的最快方法?
- c# - 按 LINQ 查询分组时名称“XYZ”不存在