在C#中,以下类型推断有效:
var s = "abcd";
Run Code Online (Sandbox Code Playgroud)
但是,当变量是常数时,为什么不能推断出类型呢?
以下引发了编译时异常:
const var s = "abcd"; // <= Compile time error:
// Implicitly-typed local variables cannot be constant
Run Code Online (Sandbox Code Playgroud) 我是WPF的初学者,并尝试了一个熟悉该技术的家庭项目.我有一个简单的表单,用户选择一个图像文件,然后我显示EXIF数据和图像的缩略图.这工作正常但是当我选择一个RAW图像文件(~9 MB)时,拇指加载时可能会有轻微的延迟,所以我想我可以使用BackgroundWorker解码图像,用户可以查看EXIF数据,然后当图像被解码时,显示它.
BitmapSource对象在BackgroundWorkers DoWork方法中声明:
worker.DoWork += delegate(object s, DoWorkEventArgs args)
{
string filePath = args.Argument as string;
BitmapDecoder bmpDecoder = BitmapDecoder.Create(new Uri(filePath), BitmapCreateOptions.None, BitmapCacheOption.None);
BitmapSource bmpSource = bmpDecoder.Frames[0];
bmpSource.Freeze(); //As suggested by Paul Betts
args.Result = bmpSource;
};
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当我尝试在RunWorkerCompleted方法中设置我的Image控件的源时,我收到一个错误,因为该对象归另一个线程所有.
worker.RunWorkerCompleted += delegate(object s, RunWorkerCompletedEventArgs args)
{
imgThumb.Source = args.Result as BitmapSource;
};
Run Code Online (Sandbox Code Playgroud)
我尝试使用该imgThumb.Dispatcher.BeginInvoke()方法设置源,但这也不起作用,我想这是因为它args.Result是由另一个线程拥有,而不是imgThumb?我怎么能绕过这个?
可能是我对我的调度程序编码错误(以下内容来自内存,我删除了我的内容).
imgThumb.Dispatcher.Invoke(new Action<BitmapSource>(
delegate(BitmapSource src)
{
imgThumb.Source = src;
}
), bmpSource);
Run Code Online (Sandbox Code Playgroud)
欢迎任何建议或想法.
更新
更改了我的DoWork方法以使用BitmapCreateOptions.None而不是.DelayCreation但现在我在加载RAW文件时遇到以下错误(Canon .CR2文件是我迄今为止测试的所有文件),代码适用于jpg.这可能是我安装的Canon Codec的一个问题,允许我显示RAW文件?
该应用程序调用了一个为不同线程编组的接口.(来自HRESULT的异常:0x8001010E(RPC_E_WRONG_THREAD))
我找到了这段代码:
enum
{
IsDynamic = (1U << 0), // ...
IsSharable = (1U << 1), // ...
IsStrong = (1U << 2) // ...
};
Run Code Online (Sandbox Code Playgroud)
怎么(1U << X)办?
我有一个哈希,每个值都是一个数组。
我想建立一个包含每个值/数组大小的新数组。
例:
哈希
{"A"=>["1", "2", "3"], "B"=>["b", "toto"]}
Run Code Online (Sandbox Code Playgroud)
结果
[3, 2]
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
现在我使用Javascript(在基于Wordpress的网站中)使用XSLT样式表转换XML文档.这适用于Firefox和Chrome,但不适用于IE.另外,如果未启用Javascript,则不会显示任何内容.
所以,我的目标是在服务器而不是客户端上进行XML/XSLT到XHTML的转换,最好是使用PHP.
我尝试了许多其他人编写的PHP脚本(我是新手),但我无法让他们工作.我已经包含了我在下面找到的最简单的PHP脚本.我知道动态文件路径可能有问题,但我不知道找到XML和XSLT文件的更好方法.
当我使用下面的脚本时,我收到错误:解析错误:语法错误,第42行/home/alan/public_html/wp-content/themes/Stacked/page-renting.php中的意外T_STRING
也欢迎替代解决方案.
<?php
$xml = new DOMDocument();
$xml->load('<?php bloginfo('template_directory'); ?>/rentals/works.xml');
$xsl = new DOMDocument;
$xsl->load('<?php bloginfo('template_directory'); ?>/rentals/works.xsl');
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
?>
Run Code Online (Sandbox Code Playgroud) 我有一个使用views/layouts/application.html.erb作为默认网站模板的rails应用程序.
我正要添加几个弹出窗口.这些不应继承和显示应用程序模板.
如何从加载应用程序模板中排除多个视图?
任何帮助将非常感激.
任何人都可以解释SQLAlchemy 之间的区别filter和filter_by功能吗?我很困惑,不能真正看到差异.我应该使用哪一个?
看起来我无法使用"AJAX"在当前域名之外进行调用.但是我可以在JQuery中调用twitter API(带有JSON)...是不是都使用XMLHTTP对象?如果是这样(或不是),为什么我能用JSON(使用JQuery)而不是AJAX调用另一个域名?无论如何,Ajax和JSON之间有什么区别?
我有一个我建立的jquery滑块,基本上只有三个pannels通过应用负的左CSS值滑动.效果很好,但我在一张幻灯片中有一个youtube视频,当我滑动时它不会停止.我尝试过display:none和Visibility:hidden除了IE以外都可以使用,音频一直在IE浏览器中.
有一种简单的方法可以用jquery杀死视频吗?