以下代码编译,但失败并带有NullReferenceException:
class Test
{
public Dictionary<string, string> Dictionary { get; set; }
}
static void Main(string[] args)
{
var x = new Test
{
Dictionary = // fails
{
{ "key", "value" }, { "key2", "value2" }
}
};
}
Run Code Online (Sandbox Code Playgroud)
如果用以下内容替换标记为"失败"的行,则可以正常工作(如预期的那样):
Dictionary = new Dictionary<string, string>
Run Code Online (Sandbox Code Playgroud)
失败的语法是否有任何目的 - 是否可以在其他情况下成功使用?或者这是编译器的疏忽?
我有一部分我想在布局中使用,但是当我加载页面时,它会在不同的文件夹中查找部分.
所以对于我的布局我已经有了.
%html
%head
%body
.content
= yield
.footer
= render :partial => 'tracking'
Run Code Online (Sandbox Code Playgroud)
在我的布局文件夹中,我有部分文件"app/views/layouts/_tracking.html.haml",我想在所有页面的布局中使用它.但是当我加载一个页面它会给我一个错误,说它找不到模板"products/_tracking.erb"
我有一个简单的html/css页面,在那里我展示了一张图片.
现在,当用户在图片上移动鼠标时,我想将图片换成其他图像.
离开图像区域后,应再次显示旧图像.
我怎样才能做到这一点?一个没有javascript工作的版本是最好的.
提前致谢!
我是python和python win32扩展的新手,可以在http://python.net/crew/skippy/win32/上找到,但是我无法在线或在安装目录中找到任何关于win32扩展提供的文档.这些信息在哪里?
我有一个Listbox,它有一个Checkbox作为项目模板的一部分.
在单击复选框的单击,我想确保选择相同的列表项.
ListBoxItem lbi = ((ListBoxItem)listLayers.
ContainerFromElement((CheckBox)sender));
lbi.IsSelected = true;
Run Code Online (Sandbox Code Playgroud)
我遇到的主要问题是Silverlight中没有"ContainerFromElement".
任何帮助是极大的赞赏.
编辑
这是我在列表中的复选框的click事件中运行的代码:
MyObject obj = listLayers.SelectedItem as MyObject;
obj.Visible = true;
obj.Value = "50";
Run Code Online (Sandbox Code Playgroud)
使用复选框上的RelativeSource绑定以及此代码,我最终得到的obj等于null.
我有一个层列表,我想通过复选框打开和关闭,我对另一种方式开放...
我是一个红宝石程序员,我真的很想做TDD.现在,我在C中编程了一点,但我喜欢我的工具以及我用ruby编程的方式.所以,我正在寻找一个在C中进行单元测试的框架.你能告诉我什么?
我已经找到了一些选项,例如:cunit,cmockery,CuTest等.问题是,我不知道如何评估最好的一个.我正在为我的编译器大学课程编写一个简单的编译器.
你可以帮帮我吗?
假设我正在编辑一个非常冗长且混乱的HTML文件.将光标放在打开的标签上,有没有办法跳转到结束标签?
这感觉就像一个愚蠢的问题,但我在Oracle事务管理概念指南中看到以下内容:
当发生以下任何情况时,交易结束:
用户发出不带SAVEPOINT子句的COMMIT或ROLLBACK语句.
用户运行DDL语句,例如CREATE,DROP,RENAME或ALTER.如果当前事务包含任何DML语句,Oracle首先提交事务,然后运行并将DDL语句作为新的单语句事务提交.
用户断开与Oracle的连接.当前事务已提交.
用户进程异常终止.当前事务将回滚.
我是否要解释最后一点意味着如果我发出一个有错误的查询,那么事务将被回滚?
在C#中,我使用的是TcpListener/TcpClient的异步版本,我通过回调方法链接这些,以便在回调完成时发布另一个Accept/Read.这是一个例子(未经测试):
public void Start()
{
TcpListener listener = new TcpListener(IPAddress.Any, 3000);
listener.Start();
PostAccept(listener);
}
private void PostAccept(TcpListener listener)
{
listener.BeginAcceptTcpClient(AcceptCallback, listener);
}
private void AcceptCallback(IAsyncResult ar)
{
var listener = ar.AsyncState as TcpListener;
if (listener == null)
{
return;
}
// get the TcpClient and begin a read chain in a similar manner
PostAccept(listener);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在F#中建模类似的东西?我会使用async关键字吗?BeginAcceptTcpClient,BeginRead等之后的代码本质上是将在回调函数中执行的代码吗?例如,这是正确的吗?
let accept(listener:TcpListener) = async {
let! client = listener.AsyncAcceptTcpClient()
// do something with the TcpClient such as beginning a Read chain
accept(listener)
return()
} …Run Code Online (Sandbox Code Playgroud) 使用V1.8 z/OS XL C编译器,使用INFO(ALL)警告升级,我在下面的代码第4行收到以下警告:
WARNING CCN3196 Initialization between types "const int** const" and "int**"
is not allowed.
1 int foo = 0;
2 int *ptr = &foo;
3 const int * const fixed_readonly_ptr = ptr;
4 const int ** const fixed_ptr_to_readonly_ptr = &ptr;
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么我会收到这个警告.如果我可以将一个int指针指向一个指向const int(第3行)的const指针,那么为什么我不能将一个int指针的地址分配给指向const int指针的const指针?我错过了什么?
请注意,上面的代码是一个精简的示例,只是显示了我在少量代码中遇到的问题.真正的上下文是我有一个const指针指向struct(struct s**const),并将它作为参数传递给函数,该函数的参数被定义为指向const结构的指针的const指针(const struct s**)常量).这是因为函数不会修改结构中的数据(因此是第一个const),并且它不会修改始终保存传入的地址的指针参数(因此第二个const).指向的指针的值可以通过这种方式改变(这就是**之间没有第三个const的原因).
c ×2
html ×2
.net ×1
asynchronous ×1
c# ×1
casting ×1
dictionary ×1
emacs ×1
f# ×1
image ×1
initializer ×1
layout ×1
mouseover ×1
oracle ×1
oracle10g ×1
plsql ×1
pointers ×1
python ×1
pywin32 ×1
silverlight ×1
sql ×1
syntax ×1
tcplistener ×1
tdd ×1
transactions ×1
xaml ×1
xlc ×1
zos ×1