因此,当退出using块时,using语句会自动调用正在"使用"的对象上的dispose方法,对吗?
但这何时有必要/有益?
例如,假设您有这种方法:
public void DoSomething()
{
using (Font font1 = new Font("Arial", 10.0f))
{
// Draw some text here
}
}
Run Code Online (Sandbox Code Playgroud)
是否有必要在此处使用using语句,因为该对象是在方法中创建的?当方法退出时,不会丢弃Font对象?
或者在方法退出后,Dispose方法是否会在另一个时间运行?
例如,如果方法是这样的:
public void DoSomething()
{
Font font1 = new Font("Arial", 10.0f);
// Draw some text here
}
// Is everything disposed or cleared after the method has finished running?
Run Code Online (Sandbox Code Playgroud) 我编写了一个.sh文件来编译并运行一些程序来完成作业.我在脚本中有一个"for"循环,但除非我只使用整数,否则它将无效:
#!/bin/bash
for (( i=10; i<=100000; i+=100))
do
./hw3_2_2 $i
done
Run Code Online (Sandbox Code Playgroud)
变量$ i是程序hw3_2_2的输入,我有我想要使用的非整数值.我怎么能循环运行带有十进制数列表的代码?
我这里有一个奇怪的问题.
我是这里唯一一个经常感觉我必须重写/重构我自己的代码的程序员吗?
有时我这样做只是因为我认为速度可能会提高,或者仅仅因为我相信代码可以在以后的项目中轻松导入.
嘿,有时候只是因为我的眼睛看起来更清洁.
我生病了吗?我是完美主义吗?我是唯一一个有这个问题的人吗?
我不熟悉签名文件的想法,到目前为止我找不到满意的答案,所以我想我最好问:
我想知道的是当签署二进制文件(对于Android)时,签名工具是否为文件分配了某种校验和,以便当黑客在apk文件中更改某些内容时,程序将拒绝启动,因为校验和不会不配.Android的签名工具中是否存在此机制?
好吧,我理解当黑客拥有二进制文件时,他可以禁用任何他想要的东西,包括校验和检查.但问题是:Android的签名工具是否首先提供此级别或保护?
感谢您的阅读和回答!
我有包含shell命令的vagrant配置脚本.当我尝试通过此脚本中的git和private\public keys克隆私人仓库时出现错误:
Cloning into 'brand.api'...
Stderr from the command:
stdin: is not a tty
dpkg-preconfigure: unable to re-open stdin: No such file or directory
Host key verification failed.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
但是当我git clone ...从配置脚本中排除命令并在vagrant box中自己调用它时一切正常.
这是供应文件:
#setting up Git
apt-get install -y git
mkdir ~/.ssh
mkdir ~/bin
cp /vagrant/bin/git-ssh.sh ~/bin
cp /vagrant/keys/mygit.key ~/.ssh/mygit.key
cp /vagrant/keys/mygit.pub ~/.ssh/mygit.pub
chmod 600 ~/.ssh/*
echo 'export GIT_SSH=~/bin/git-ssh.sh' >> ~/.bashrc
source ~/.bashrc
#installing brand-api
git clone git@****.ru:brand.api.git
Run Code Online (Sandbox Code Playgroud)
有什么问题?
更新
将git …
做这个:
if key == "name" and item:
Run Code Online (Sandbox Code Playgroud)
意思是这样的:
if key == "name" and if key == "item":
Run Code Online (Sandbox Code Playgroud)
如果是这样,我对Dive Into Python中的示例5.14感到困惑.键如何等于"名称"和项目?另一方面,"和项目"只是询问项目是否作为变量存在?
我不是在主分公司工作.我正在研究另一个newFeature,它也发布在github上.
我知道如何在Master分支上工作时关闭问题:Closes #XXX.
但是这只适用于我在Master分支上工作,如果我切换到另一个分支或另一个分支并且使用Closes #XXX它进行提交并不能解决问题.
我的问题是:是否可以这样做,你是怎么做到的?
此代码来自Hacker's Delight.它说这是C中最短的程序,长度为64个字符,但我不明白:
main(a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}
Run Code Online (Sandbox Code Playgroud)
我试着编译它.它编译3个警告,没有错误.
很多时候,我遇到了一个声明,即应用程序应该始终显式关闭它打开的所有资源.
我的编程方法相当务实,我不喜欢盲目地遵循任何我没有明确看到的好处.因此我的问题.
我们假设:
我真的要关心关闭我打开的所有资源吗?我猜我打开的所有资源都将在应用程序/虚拟机退出时关闭/释放.我对吗?
如果这是真的,是否有任何令人信服的理由关心在如此短小的工作申请中关闭资源?
更新:
这个问题纯属假设,但不关心这个问题的论点是,我可能只是在一起编写一些快速脚本,并且不想编写与手头问题没有直接关系的任何不必要的代码:关闭资源,完成所有这些详细的try-catch-finally东西,处理我不关心的异常等.
问题的关键是不做是否有任何实际后果.
我需要弄清楚Windows API中控件的首选大小 - 宽度和高度.据我所知,关于这个问题的唯一官方消息是Windows桌面程序指南的布局页面,这是一个似乎在Windows Vista中引入的文档,以及与Microsoft管理控制台等效的文档,前者似乎是基于它的.
前一页提供了对话框单元和像素中的示例尺寸(不在后一页中的内容!),表面上是96 dpi的9点Segoe UI.我不知道对话单元计算是否从未针对这个新的DPI值进行更新,但无论如何,我尝试了三种不同的方法,并没有任何完全相加.
该程序以两种方式计算,都基于此处和此处的信息.第一个使用结构tmAveCharWidth领域TEXTMETRICS; 第二个使用GetTextExtentPoint32()第一个链接中的函数.然后,它重复该过程,考虑古老的System字体(参见第一个链接).
在Windows 7上运行此程序
BUTTON_SIZE_X 保持在50(几件事所列出的宽度)BUTTON_SIZE_Y 更改为25(具有一行文本的Vista-and-up-only命令链接的列出高度)这样我们基于布局页面的预期大小将是75x41
GetTextExtentPoint32: Segoe UI 9 | baseX 7 baseY 15 | button 50 x 25 -> 88 x 47
tm.tmAveCharWidth: Segoe UI 9 | baseX 6 baseY 15 | button 50 x 25 -> 75 x 47
with system font: System 9
GetTextExtentPoint32: Segoe UI 9 | cX 7 …Run Code Online (Sandbox Code Playgroud)