我的程序的功能基本上是將文件名(包括它的擴展名)從目錄列表到列表框中。然後它有一個排序功能,將列表字符串按字母順序排序。C#從字符串列表中刪除文件擴展名
最後它有一個二進制搜索功能,允許用戶輸入任何字符串,然後程序將比較並將匹配結果顯示到列表框中。
現在,所有這些功能都能正常工作,但是我似乎無法在搜索後刪除文件名的擴展名。
例如,在掃描和分類情況下它列出了文件名稱爲:FILENAME.MP3現在
,我想要它做搜索按鈕被點擊時是刪除文件擴展名,並只顯示文件名。
private void buttonSearch_Click(object sender, RoutedEventArgs e)
{
listBox1.Items.Clear();
string searchString = textBoxSearchPath.Text;
int index = BinarySearch(list1, 0, list1.Count, searchString);
for (int n = index; n < list1.Count; n++)
{
//Removes file extension from last decimal point ''not working''
int i = list1[n].LastIndexOf(".");
if (i > 0)
list1[n].Substring(0, i);
// Adds items to list
if (list1[n].IndexOf(searchString, StringComparison.OrdinalIgnoreCase) != 0) break;
listBox1.Items.Add(list1[n]);
}
MessageBox.Show("Done");
}
Path.GetFileNameWithoutExtension() – 2013-04-08 12:49:22
我不知道如何實現,在我的代碼(以上)我已經處理字符串列表中的文件名稱 – ffxdean 2013-04-08 12:50:35
您可以使用System.IO.Path類中的靜態操作來處理擴展。想到的是GetExtension()或者GetFileNameWithoutExtension()可以想到 即使只有一行,您也應該總是使用{}作爲塊...您的一個塊如果塊不同於第二塊...... – 2013-04-08 12:50:51