Saya perlu membuat file sementara yang unik dengan ekstensi .csv.
Yang saya lakukan sekarang adalah
string filename = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
Namun, ini tidak menjamin bahwa file .csv saya akan unik.
Saya tahu kemungkinan saya pernah mengalami tabrakan sangat rendah (terutama jika Anda menganggap bahwa saya tidak menghapus file .tmp), tetapi kode ini tidak terlihat baik bagi saya.
Tentu saja saya bisa secara manual menghasilkan nama file acak sampai akhirnya saya menemukan yang unik (yang seharusnya tidak menjadi masalah), tetapi saya ingin tahu apakah orang lain telah menemukan cara yang bagus untuk mengatasi masalah ini.
GetTempFileName()
membuat file baru setiap kali Anda menyebutnya. - Jika Anda segera mengubah string ke sesuatu yang lain, Anda baru saja membuat file nol byte baru di direktori temp Anda (dan seperti yang telah dicatat orang lain, ini pada akhirnya akan menyebabkannya gagal ketika Anda menekan 65535 file di sana ...) - - Untuk menghindari ini, pastikan untuk menghapus file yang Anda buat di folder itu (termasuk yang dikembalikan oleh GetTempFileName()
, idealnya di blok akhirnya).