我有这样的代码:
string fileLocation = Request.Form["FileName"].ToString();
if (!string.IsNullOrEmpty(fileLocation))
{
var deleteFile = fileLocation.Split('\\')[1];
var pathe = Path.Combine(uploadPath, deleteFile;
if (System.IO.File.Exists(pathFile))
{
System.IO.File.Delete(pathFile);
}
}
通常,如果我没有选择文件,Request.Form["FileName"].ToString()
将返回SystemNullException,我打算将其设置为null。
我是否可以不使用try catch来做到这一点?
答案 0 :(得分:3)
如果Request.Form["FileName"]
返回null,那么您将无法执行.ToString()
。
因此您可以使用null传播器来解决此问题:
Request.Form["FileName"]?.ToString()
答案 1 :(得分:1)
仅在应用.ToString
之前进行检查。
var result = Request.Form["FileName"];
if(result != null)
{
string fileLocation = result.ToString();
if (!string.IsNullOrEmpty(fileLocation))
{
var deleteFile = fileLocation.Split('\\')[1];
var pathe = Path.Combine(uploadPath, deleteFile;
if (System.IO.File.Exists(pathFile))
{
System.IO.File.Delete(pathFile);
}
}
}