我目前得到这样的用户数:传递字符串为int到子
if (checkBox1.Checked)
{
rchars = numericUpDown1.Value.ToString();
}
else
{
rchars = "3";
}
串rchars;是一个全局变量。
所以,我试图从文件名移除rchars。 例如从文件名中的前三个字母:
int num = Int32.Parse(rchars);
foreach (FileInfo name in fpaths.GetFiles("*.mp3")
{
string snub = name.Name.Substring(num);
MessageBox.Show(snub);
System.IO.File.Move(blah + name.Name, newblah + snub);
}
我的问题是如何获得“NUM”在子工作?因为我不能把它看作是一种价值。因为我想从numericUpDown传递它。将make“num”添加一个值,以便我可以从文件名中删除该值。
谢谢。
结束我无法弄清楚你的意思吗?如果num是一个int,它将作为子字符串的参数。你将它解析为一个int值num,所以它应该作为子串调用的一部分...不是将一些随机数字解析成子串而没有检查它不超过长度是个好主意... – kmcc049
暴露的问题对我来说不是很干净... 它导致了几种解释。 如果你需要删除一部分字符串,你应该使用函数Remove或Replace,或者只是使用正则表达式。 string snub = name.Name.Replace(rchars,“”); 这将从name.Name字符串中替换rchars的所有东西,并将结果放入sbub变量中。 但我想这不是你正在寻找的东西,这听起来对我来说是没有用的。 –
问题中的代码对我来说很好,可以删除文件夹中所有文件的文件名中的前n个字符,并将其移至另一个文件夹。由于NumericUpDown控件只能使用数字值(它不允许使用字符串),所以我尝试在不使用Up或Down的情况下将值设置为12,并且它仍然有效。如果上面的代码不适合你,请让我们知道吗?或者,除了删除前n个字符之外,还希望代码执行其他操作吗? – Kash