listItem.SubItems.Add(filename.Substring(0, file.Name.LastIndexOf(“.”)));
提示:索引和长度必须引用该字符串内的位置。
参数名: length
请问怎么解决啊!说的详细点,谢谢啦
—-
全部代码如下:
foreach (FileInfo file in TheFolder.GetFiles())
{
filename = file.Name.Substring(file.Name.Length – 6, 6);//filename = file.Name.ToString();
ListViewItem listItem = new ListViewItem();
listItem.Checked = true;
listItem.Text = filename;
listItem.SubItems.Add(filename.Substring(0, file.Name.LastIndexOf(“.”)));
listView1.Items.Add(listItem);
}
foreach (FileInfo file in TheFolder.GetFiles())
{
filename = file.Name.Substring(file.Name.Length – 6, 6);//filename = file.Name.ToString();
ListViewItem listItem = new ListViewItem();
listItem.Checked = true;
listItem.Text = filename;
listItem.SubItems.Add(filename.Substring(0, file.Name.LastIndexOf(“.”)));
listView1.Items.Add(listItem);
}
—-
应该是 file.Name.LastIndexOf(“.”) >filename.length 了必须 小于等于
—-
执行filename.Substring(0, file.Name.LastIndexOf(“.”))之前,
先判断file.Name.Contains(“.”)
否则如果字符串不包含点,返回的是-1
先判断file.Name.Contains(“.”)
否则如果字符串不包含点,返回的是-1
—-
还有,file.Name.LastIndexOf(“.”)返回的是从0开始到点的位置的索引,如果第一个字节就是点,返回的是0
而你如果想转换成长度,应该+1
而你如果想转换成长度,应该+1
—- 40分
如果你想获取file.Name的路径,文件名,扩展名的信息
应该使用Path的属性来获取
应该使用Path的属性来获取
Path.GetFileName()
Path.GetFileNameWithoutExtension()
Path.GetExtension()
而不是自己用substring去截取
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#索引和长度必须引用该字符串内的位置!