我的代码是ArrayList
用于存储集合元素的旧代码.我在删除对象之前使用m_objects.SyncRoot
for lock目的:
lock(m_objects.SyncRoot)
{
m_objects.Remove(obj);
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,我现在要改变的类型 m_objects
,从ArrayList
到List<T>
,我遇到的问题与上面的代码.什么是等价List<T>
的SyncRoot
?
这是我的httpd.conf文件http://old.example.com
:
RewriteEngine on
RewriteBase /
RewriteRule ^login$ http://another.example.com/login [L]
Run Code Online (Sandbox Code Playgroud)
问题是虽然我可以重定向到http://another.example.com/login
,但位置栏仍然显示http://old.example.com/login
.
知道如何解决这个问题吗?
我在我的视图页面写了javascript函数,但它给了我一个错误.我想在标签中设置下拉列表的选定值.请告诉我哪里出错了?
function OnSelect()
{
var label = document.getElementById("<%= lblSelection.ClientID %>");
label .Text= "You selected <b>";
}
Run Code Online (Sandbox Code Playgroud)
以上是脚本功能
我有这样的代码
public Option GetOption(A a)
{
if(A!=null && A.B!=null)
return A.B.Option;
return null;
}
Run Code Online (Sandbox Code Playgroud)
但我真的不喜欢空检查的冗长。有更好的方法吗?
我能想到
public Option GetOption(A a)=> (A??null)?.B?? null)?.Option??null; //did I get it correct??
Run Code Online (Sandbox Code Playgroud)
但它似乎包含了太多null
我不太喜欢的关键字,而且,当我必须链接这么多对象时,阅读起来非常困难。
无论如何我可以更好地编写上面的代码?