我正在编写一个需要读取相当大的文件的应用程序.我一直想知道在现代Windows XP计算机上读取缓冲区的最佳大小是多少.我用Google搜索并发现许多例子,其中1024是最佳尺寸.
这是我的意思的片段:
long pointer = 0;
buffer = new byte[1024]; // What's a good size here ?
while (pointer < input.Length)
{
pointer += input.Read(buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序相当简单,所以我不打算编写任何基准测试代码,但是想知道常见的大小是多少?
是否有可能DependencyProperty
在MarkupExtension
派生类中?
public class GeometryQueryExtension : MarkupExtension
{
public XmlDataProvider Source { get; set; }
public string XPath { get; set; }
public static readonly DependencyProperty ArgumentProperty = DependencyProperty.RegisterAttached(
"Argument",
typeof(string),
typeof(GeometryQueryExtension)); // this wont work because GeometryQueryExtension is not a DependencyProperty
public string Argument
{
get
{
return (string)GetValue(ArgumentProperty); // this wont even compile because GeometryQueryExtension doesnt derive from a class which has GetValue
}
set
{
SetValue(ArgumentProperty,value);// this wont even compile because GeometryQueryExtension doesnt derive …
Run Code Online (Sandbox Code Playgroud) 你应该怎么处理BitmapSource?
// this wont work because BitmapSource doesnt implement IDisposable
using(BitmapSource bitmap = new BitmapImage(new Uri("myimage.png")))
{
}
Run Code Online (Sandbox Code Playgroud) 当复选框更改状态时,将wm_command消息发送到对话框过程的通知代码是什么?
更重要的是,我会在msdn中查找各种控件的通知代码?
在阅读了关于WPF架构的维基百科文章之后,我对WPF将为我提供的好处感到困惑.(维基百科不是一个很好的研究参考,但我发现它很有用).我有一些问题
1)WPF使用d3d表面进行渲染.但是,场景图由媒体集成层渲染到d3d表面,媒体集成层在CPU上运行.这是真的 ?
2)我刚刚在这里问了一个问题,即bitmaps不使用原生资源.这是否意味着如果我使用大量图像,MIL会在渲染时复制每个图像,而不是将位图作为纹理存储在视频卡上?
3)文章提到WPF使用了回到前面的画家算法.多么痛苦.有没有理由为什么WPF省略了使用Z缓冲和前后渲染?我猜它是因为处理透明度最简单的方法,但似乎很弱.
我问的原因是,我认为即使我的同事说它的直接加速,我也不会在屏幕上放上数百个按钮.我不相信整个directx加速了WPF.我曾经从事视频游戏工作,而且我对编写d3d和opengl代码的记忆让我保持谨慎.
我在代码审查期间发现了一些令人困惑的代码,我有点困惑.做了一些研究我发现了这种情况.我写了这个代码示例来突出问题
char d = '©';// this is -87,the copyright symbol , (actually its 169 unsigned)
if(ispunct(d)) // will assert.
{
}
Run Code Online (Sandbox Code Playgroud)
所以,修复bug的程序员做了以下事情:
char d = '©';// this is -87,the copyright symbol , (actually its 169 unsigned)
if(ispunct((unsigned char)d)) // will not assert, because it will be 169.
{
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,是否可以使char
未签名?理想情况下,我不会使用char
Unicode字符来避免这类问题,但软件很老,不会很快重新设计.
我正在使用Visual Studio 2008. ispunct()
可以找到ctype.h
.
这是我的代码,我不知道为什么我无法通过XPathNavigator读取数据.但是在添加命名空间和架构之前就已经存在了.
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.somewhere.com", schemaPath);
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(xmlPath, settings);
XPathDocument doc = new XPathDocument(reader);
XPathNavigator nav = doc.CreateNavigator();
XPathNodeIterator iter = nav.Select("/feeds/feed");
while (iter.MoveNext())
{
XPathNavigator feed = iter.Current.SelectSingleNode("name");
string name = feed.Value;
feed = iter.Current.SelectSingleNode("url");
string url = feed.Value;
feed = iter.Current.SelectSingleNode("url/@ver");
string version = feed.Value;
Console.WriteLine(name + ":" + url + ":" + version);}
Run Code Online (Sandbox Code Playgroud)
XML:
<?xml version="1.0" encoding="utf-8"?>
<feeds xmlns="http://www.somewhere.com">
<feed>
<name>asdf</name>
<url ver="1.0">http://blogs.msdn.com/asdf/rss.xml</url>
</feed>
<feed>
<name>asdf 2</name>
<url ver="2.0">http://blogs.msdn.com/asdf2/rss.xml</url>
</feed> …
Run Code Online (Sandbox Code Playgroud) 我正在研究一项涉及选择技术作为第一标准的项目.客户对Web技术感兴趣,并不赞成ASP.NET.我想了解Silverlight在以下术语中有多好:·可扩展性·成本·安全性·合规性·性能·灵活性·容量·可靠性对此有何看法值得赞赏?请帮助我理解如何在考虑这些方面的情况下展示这项技术?