我有這樣的代碼:新的運營商返回null - C#
public ObjectModel.Path GetPath(int pathid)
{
var path = this.DbContext.Paths.Find(pathid);
var app = GetApplicationById(path.ApplicationId.GetValueOrDefault());
var p = new Path
{
ApplicationId = path.ApplicationId,
Id = path.Id, Password = path.Password,
UserName = path.UserName,
LocalUrl = string.IsNullOrEmpty(path.LocalUrl) ? null : System.IO.Path.Combine(path.LocalUrl, app.Name)
};
return p;
}
變量p
總是null
。這是可行的嗎?
這裏是我談論的打印屏幕:
我也嘗試立即窗口,我得到這個:
p
不能因爲即時通訊NULL創建它的一個新實例,而它的所有屬性都不爲空。我嘗試清理項目,重新啓動Windows,以管理員身份打開Visual Studio,但沒有發生任何事情。
任何想法爲什麼?
該應用程序在.net 4.0,visual studio 2017 v15.2(26430.13)上運行。
它可能只是你的調試器。你正在調試優化(即釋放模式)嗎?爲了測試理論,只需添加一個空檢查並拋出一個新的'ArgumentNullException',如果在調試時得到異常,那麼它是空的(*我懷疑它是不應該可能的*),如果不是,那麼它就是您的調試器。 – Igor
@Igor不,im在調試模式下。 –
'Path'類是否重寫'ToString',或者是否以名稱以「Debugger」開頭的任何屬性裝飾? – Amy