我目前得到這樣的用戶數:傳遞字符串爲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