我意识到,从根本上说,我可能会以错误的方式解决这个问题,所以我愿意向正确的方向努力.
我正在尝试使用HipChat API向房间发送通知,如下所示:
https://www.hipchat.com/docs/api/method/rooms/message
我正在尝试使用js对象的参数在示例中构建URL,所以基本上我正在尝试转换它:
var hipChatSettings = {
format:"json",
auth_token:token,
room_id: 1,
from: "Notifications",
message: "Message"
}
Run Code Online (Sandbox Code Playgroud)
对此:
有人可以解释为什么这两种方法返回不同的值?
List<CustomerSummary> summaries = new List<CustomerSummary>();
for (var i = 0; i < 10; i++)
{
var summary = new CustomerSummary() { ID = 1, Name = "foo", balance = 50.00 };
if (!summaries.Contains(summary))
summaries.Add(summary);
}
Run Code Online (Sandbox Code Playgroud)
-
List<CustomerSummary> summaries = new List<CustomerSummary>();
for (var i = 0; i < 10; i++)
{
var summary = new CustomerSummary() { ID = 1, Name = "foo", balance = 50.00 };
if (!summaries.Any(s=> s.ID == summary.ID))
summaries.Add(summary);
}
Run Code Online (Sandbox Code Playgroud)
第一种方法在列表中有10项,而第二种方法有1.为什么第一种(Contains())方法永远不会评估为真?
我想问的是为什么2个相同类型的对象具有相同的值,每个属性没有评估为等价(在第一种方法中)?
我试图在我的视图中显示对象的属性(如果存在),否则回退到默认值,例如
@if(Product.Description != null && Product.Description.Color != null){
<li>@Product.Description.Color</li>
}
Run Code Online (Sandbox Code Playgroud)
这样做的问题是,如果我在视图中进行空检查,则ObjectContext已经为Product.Description处理,如果它不存在并且抛出异常.
我应该在控制器中分配默认值/后退还是有办法在视图中处理此问题?