前几天我看到一篇博客文章,其中有一个intellisense的成员列表的屏幕截图,如下所示:
DateTime. -> [Compare(DateTime, DateTime) int]
[DaysInMonth(int, int) int]
...
Run Code Online (Sandbox Code Playgroud)
而不是我看起来像:
DateTime. -> [Compare ]
[DaysInMonth]
...
Run Code Online (Sandbox Code Playgroud)
如何设置我的vs2008 IDE,以便我的成员列表看起来像第一个示例?
如果我使用OnPaintBackground中提供的Graphics对象使用TextRenderer.DrawText(),我的文本看起来很完美.如果我创建自己的Bitmap并使用从我的Bitmap获得的Graphics对象,我的文本看起来很糟糕.看起来它使用黑色对文本进行抗锯齿处理,而不是位图的背景颜色.如果我使用Graphics.DrawString(),我可以避免这个问题,但这种方法有可怕的字距调整问题.我该怎么办?如何使用Bitmap的内容正确地将TextRenderer.DrawText()转换为反别名?
看起来很糟糕:
Bitmap bmp = new Bitmap(100, 100, PixelFormat.Format32bppArgb);
using (Graphics g = Graphics.FromImage(bmp))
{
g.Clear(Color.Red);
TextFormatFlags tf = TextFormatFlags.Left;
TextRenderer.DrawText(g, @"C:\Development\Testing\blag", font, clip, Color.White, Color.Transparent, tf);
}
Run Code Online (Sandbox Code Playgroud)
看起来不错,但我想将其渲染到位图上,而不是渲染到控件的表面上:
protected override void OnPaintBackground(PaintEventArgs e)
{
e.Graphics.Clear(Color.Red);
TextFormatFlags tf = TextFormatFlags.Left;
TextRenderer.DrawText(e.Graphics, @"C:\Development\Testing\blag", font, clip, Color.White, Color.Transparent, tf);
}
Run Code Online (Sandbox Code Playgroud)
有什么不同?
我有一个VS 2005网站项目(不是Web应用程序项目模型,'网站'项目模型),我希望能够通过"发布网站"命令在bin文件夹中包含页面程序集的PDB文件在Visual Studio中帮助调试问题.
无论我尝试"调试/发布"模式设置,我发布网站后,似乎无法让网站程序集的PDB文件显示在"bin"文件夹中.我确实得到了任何外部引用程序集,但不是实际的网站代码隐藏程序集,这是我需要的.
使用网站项目模型发布时,如何让Visual Studio包含这些文件?
我想知道,如果我有一些代码如:
$result = $db->query($sql); // dont worry, its escaped
$myData = (array)$result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
哪里
$result->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
返回一个mysqli结果对象.
是这样立即施展好的做法吗?我认为这是一个昂贵的电话 - 这是真的吗?
它确实使我在查询后立即使用方便,但我想确保我没有做出糟糕的事情.
感谢您的任何意见,
我正在尝试使用"联盟"合并2个列表,因此我摆脱了重复.以下是示例代码:
public class SomeDetail
{
public string SomeValue1 { get; set; }
public string SomeValue2 { get; set; }
public string SomeDate { get; set; }
}
public class SomeDetailComparer : IEqualityComparer<SomeDetail>
{
bool IEqualityComparer<SomeDetail>.Equals(SomeDetail x, SomeDetail y)
{
// Check whether the compared objects reference the same data.
if (Object.ReferenceEquals(x, y))
return true;
// Check whether any of the compared objects is null.
if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null))
return false;
return x.SomeValue1 == y.SomeValue1 && x.SomeValue2 == y.SomeValue2; …Run Code Online (Sandbox Code Playgroud) 我遇到了可怕的错误消息,可能通过艰苦的努力,PHP内存不足:
在第123行的file.php中,####字节的允许内存大小耗尽(尝试分配####字节)
如果您知道自己在做什么并希望增加限制,请参阅memory_limit:
ini_set('memory_limit', '16M');
ini_set('memory_limit', -1); // no limit
Run Code Online (Sandbox Code Playgroud)
谨防!你可能只是解决症状而不是问题!
错误消息指向一条带有循环的行,我认为该循环正在泄漏或不必要地累积内存.我memory_get_usage()在每次迭代结束时打印语句,可以看到数字慢慢增长,直到达到极限:
foreach ($users as $user) {
$task = new Task;
$task->run($user);
unset($task); // Free the variable in an attempt to recover memory
print memory_get_usage(true); // increases over time
}
Run Code Online (Sandbox Code Playgroud)
对于这个问题的目的,让我们假设最坏的面条代码可以想象在全球范围内的某处藏匿在$user或Task.
什么工具,PHP技巧或调试巫毒可以帮助我找到并解决问题?
我有一个想法,在浏览器中实现一个深度缩放类型界面,用于运动训练数据(速度,距离,心率等).但是,我实际上想要放大图像的层次结构而不是图像.例如,初始显示将包含一个年的网格 - 例如,在2008年上空盘旋,旋转鼠标滚轮(或点击)将缩放到那一年但在缩放期间我希望2008年淡出并被日历替换几个月 再次缩放到一个月,月份将替换为月历,缩放到一天,最后看到一个图表,上面绘有训练数据.所有时间只有实际数据的日期将以某种方式突出显示.
我的问题是,这是否可能,以及是否有人已经看过这方面的例子.我想象大多数情况下,下一级信息可以在浏览器中缓存(事实上,因为这是基于日历的,我可以计算大部分信息并缓存要突出显示的日期.)我还可以缩放在Ajax线程获取要显示的数据时进入空图表.
我之前从未尝试过这样的事情,我特别感兴趣的是DHTML是否能够进行这种缩放(我怀疑不是,我不得不求助于Silverlight)以及浏览器中的Ajax执行是否会中断渲染线程保持忙着缩放.
一个好的经验法则是我智能地重构超过50行的任何方法.
计数不包括注释和空格,而是实际代码.我之所以聪明地说,有很多时候,超过50行的课程是可以接受的,不能或不应该改变.
我对课程没有经验法则.一般来说,我不检查类是否应该重构.
在我目前的项目中,我刚刚完成了一个近4000行的课程.然而,没有超过50的方法,并且大多数行和方法是私有的,并且不对类外的任何数据起作用.
重构类的经验法则是什么?
在我正在工作的项目中,我有如下代码.
procedure TForm.EditBtnClick(Sender:TObject);
begin
// Mark is form variable. It's private
Mark = cdsMain.GetBookmark;
// blabalbal
.
.
.
end;
procedure TForm.OkBtnClick(Sender:TObject);
var
mistakes: Integer;
begin
//Validation stuff and transaction control
//removed to not clutter the code
If cdsMain.ChangeCount <> 0 then
mistakes := cdsMain.AppyUpdates(-1);
cdsMain.Refresh;
try
cdsMain.GotoBookmark(Mark);
// Yes, I know I would have to call FreeBookmark
// but I'm just reproducing
except
cdsMain.First;
end;
end;
Run Code Online (Sandbox Code Playgroud)
就个人而言,我没有太多使用书签 - 除了重新定位我只移动光标位置的数据集(创建列表,填充字符串列表等).如果我Refresh,更新(特别是当过滤器可以使记录不可见),重新获取(Close/ Open)或修改数据集中的数据的任何操作时,我不使用书签.我更喜欢Locate使用主键(TClientDataset当然使用a …
我花了最后一小时谷歌搜索,试图找出IMUL AX是否是80x86汇编程序中的有效命令.很抱歉没有尝试,我只是没有PC正在使用的工具.
我只需要快速回答是/否.谢谢!
jpou
更新:今天尝试并验证.按预期工作.
-R
AX=0002 BX=0000 CX=20CD DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B02 ES=9FFF SS=0B02 CS=0B02 IP=0102 NV UP EI PL NZ NA PO NC
0B02:0102 F7E0 MUL A
-X
-T
AX=0004 BX=0000 CX=20CD DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B02 ES=9FFF SS=0B02 CS=0B02 IP=0104 NV UP EI PL NZ NA PO NC
0B02:0104 FE7405 PUSH [SI+05] DS:0005=9A
Run Code Online (Sandbox Code Playgroud) c# ×4
php ×2
ajax ×1
asp.net ×1
assembly ×1
class ×1
dbexpress ×1
deepzoom ×1
delphi ×1
generics ×1
intellisense ×1
linq ×1
memory-leaks ×1
mysqli ×1
refactoring ×1
settings ×1
textrenderer ×1
x86 ×1