小编And*_*ico的帖子

什么时候C#"使用"语句最有用?

因此,当退出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)

c# using-statement

14
推荐指数
4
解决办法
2001
查看次数

Shell循环使用非整数?

我编写了一个.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的输入,我有我想要使用的非整数值.我怎么能循环运行带有十进制数列表的代码?

bash scripting loops sh

14
推荐指数
3
解决办法
2万
查看次数

不断重构我自己的代码......一个非常糟糕的做法

我这里有一个奇怪的问题.

我是这里唯一一个经常感觉我必须重写/重构我自己的代码的程序员吗?

有时我这样做只是因为我认为速度可能会提高,或者仅仅因为我相信代码可以在以后的项目中轻松导入.

嘿,有时候只是因为我的眼睛看起来更清洁.

我生病了吗?我是完美主义吗?我是唯一一个有这个问题的人吗?

refactoring

14
推荐指数
4
解决办法
1761
查看次数

签署应用程序是否可以防止篡改文件?

我不熟悉签名文件的想法,到目前为止我找不到满意的答案,所以我想我最好问:

我想知道的是当签署二进制文件(对于Android)时,签名工具是否为文件分配了某种校验和,以便当黑客在apk文件中更改某些内容时,程序将拒绝启动,因为校验和不会不配.Android的签名工具中是否存在此机制?

好吧,我理解当黑客拥有二进制文件时,他可以禁用任何他想要的东西,包括校验和检查.但问题是:Android的签名工具是否首先提供此级别或保护?

感谢您的阅读和回答!

android

14
推荐指数
2
解决办法
3635
查看次数

无法从Vagrant配置文件克隆私人仓库

我有包含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 …

git ssh ssh-keys vagrant

14
推荐指数
1
解决办法
7538
查看次数

Python"如果X == Y和Z"语法

做这个:

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感到困惑.键如何等于"名称"和项目?另一方面,"和项目"只是询问项目是否作为变量存在?

python if-statement

13
推荐指数
2
解决办法
8万
查看次数

在另一个分支上关闭GitHub问题

不是分公司工作.我正在研究另一个newFeature,它也发布在github上.

我知道如何在Master分支上工作时关闭问题:Closes #XXX.

但是这只适用于我在Master分支上工作,如果我切换到另一个分支或另一个分支并且使用Closes #XXX它进行提交并不能解决问题.

我的问题是:是否可以这样做,你是怎么做到的?

branch github issue-tracking

13
推荐指数
1
解决办法
2085
查看次数

这个程序如何复制自己?

此代码来自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个警告,没有错误.

c quine

13
推荐指数
2
解决办法
889
查看次数

关闭资源总是很重要吗?

很多时候,我遇到了一个声明,即应用程序应该始终显式关闭它打开的所有资源.

我的编程方法相当务实,我不喜欢盲目地遵循任何我没有明确看到的好处.因此我的问题.

我们假设:

  1. 我有一个小应用程序
  2. 它打开一些资源(例如文件,数据库连接,远程流)并对其进行处理
  3. 它工作几分钟然后退出
  4. 让我们说它是用Java语言(如果语言相关)

我真的要关心关闭我打开的所有资源吗?我猜我打开的所有资源都将在应用程序/虚拟机退出时关闭/释放.我对吗?

如果这是真的,是否有任何令人信服的理由关心在如此短小的工作申请中关闭资源?

更新:

这个问题纯属假设,但不关心这个问题的论点是,我可能只是在一起编写一些快速脚本,并且不想编写与手头问题没有直接关系的任何不必要的代码:关闭资源,完成所有这些详细的try-catch-finally东西,处理我不关心的异常等.

问题的关键是不做是否有任何实际后果.

java resources file stream

12
推荐指数
3
解决办法
1490
查看次数

正确的方法来获得Windows控件的首选大小

我需要弄清楚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)

c user-interface winapi

12
推荐指数
1
解决办法
1628
查看次数