在查看各种C#异步CTP示例时,我看到一些返回的异步函数void
,以及其他返回非泛型函数的异步函数Task
.我可以看到为什么返回a Task<MyType>
对于在异步操作完成时将数据返回给调用者很有用,但是我看到的返回类型的函数Task
永远不会返回任何数据.为什么不回来void
?
Directory.GetFiles()
返回所有文件,甚至是那些标记为隐藏的文件.有没有办法获取排除隐藏文件的文件列表?
我以为我会很优雅并使用string.xml文件为异常消息之类的东西定义一些常量字符串.在strings.xml中,我点击Add,选择"String"选项(不是'String Array'),然后给它一个名称和值.我很惊讶地发现这段代码不起作用:
throw new Exception(R.string.MyExceptionMessage);
Run Code Online (Sandbox Code Playgroud)
这失败了,因为R.string.MyExceptionMessage实际上是int类型.我可以通过查看R.java来验证该类型.我错过了什么?
是否有默认Eclipse键盘快捷键列表?我一般都在寻找与语言无关的东西,例如启动调试器或在源代码编辑器中删除整行.
是否有可能以编程方式设置android壁纸图片?我想创建一个从Web下载图像并定期更新主屏幕壁纸的服务.
在64位应用程序中,在64位Windows上pinvoke user32.dll是错误的吗?我成功完成了很多次并且从未出现过错误,但这似乎是矛盾的.我应该寻找user64.dll吗?
在使用Process类启动应用程序后,我想将该窗口放在最顶层.目前,我的应用程序是最顶层的窗口,所以当我启动其他应用程序时,它不会显示.我想到的一件事是,我可以在启动进程之前为我的应用程序设置topmost = false,这个问题是我想让进程有足够的时间加载,然后再显示给用户,所以我想要当我将其他应用程序切换到最顶层时,可以更好地控制.
我正在使用Silverlight 4中的DataContractJsonSerializer,并希望反序列化以下JSON:
{
"collectionname":"Books",
"collectionitems": [
["12345-67890",201,
"Book One"],
["09876-54321",45,
"Book Two"]
]
}
Run Code Online (Sandbox Code Playgroud)
进入以下类:
class BookCollection
{
public string collectionname { get; set; }
public List<Book> collectionitems { get; set; }
}
class Book
{
public string Id { get; set; }
public int NumberOfPages { get; set; }
public string Title { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
扩展DataContractJsonSerializer以将"collectionitems"中未命名的第一个数组元素映射到Book类的Id属性,NumberOfPages属性的第二个元素和Title的最终元素是什么?我无法控制此实例中的JSON生成,并希望该解决方案能够与.NET的Silverlight子集一起使用.如果解决方案也可以执行相反的序列化,那将是很好的.
为什么Eclipse在导入类型时会采用细粒度的方法?在C#中,我习惯于使用"使用System.Windows.Controls"并完成它,但Eclipse更喜欢导入我单独引用的每个小部件(使用Ctrl + Shift + O快捷方式).如果我知道我需要多个类型,导入整个命名空间是否有任何损害?
我正在尝试匹配一个字符串,该字符串可以为空或者包含1或2个数字,如下所示:
""(空)"1""23"
具有更多数字或非数字字符的字符串不应匹配.我最接近的猜测是正则表达式:
[0-9] {0,2}
我读到的是"数字0到9出现0到2次".但是,实际上我发现正则表达式也匹配更长的字符串,如"333".如何在正则表达式中限制字符串长度?