当然,我们都写了大量的C#代码.因此,参加面试.NET工作应该是不费脑子的,对吧?然后你读了一些stackoverflow帖子,它会打你:你不知道下蹲!
在参加考试之前,还记得那个通过补习班的网站吗?我认为stackoverflow可用于制作要了解的主题的排序(投票)列表.
请每篇文章只放一个主题.还请添加有关该主题的一些信息.链接,参考资料等
编辑:我猜你们有些人误解了这篇文章的原因 - 我希望能够生成一份关于.NET的知识清单,这是一种可以由地球上的每个人定期审查的补习会议.这应该有助于我们所有人记住我们从未真正使用的奥术.
您最喜欢的开发环境是什么?
本地人
虚拟/本机(VM上的服务器)
虚拟(VM)
一切都有利有弊.
当中止线程的执行时,我总是怀疑优雅退出与事件处理程序,如下所示:
int result = WaitHandle.WaitAny(handles);
if (result = WAIT_FINALIZE)
FinalizeAndExit();
Run Code Online (Sandbox Code Playgroud)
并使用事件来通知线程它必须终止
或者只是处理ThreadAbortException来完成线程......
try
{
// Main execution
}
catch(ThreadAbortException e)
{
// FinalizeAndExit();
}
finally
{
}
Run Code Online (Sandbox Code Playgroud)
我通常倾向于使用ThreadAbortException方法,因为它可以被处理但是它会在catch块的末尾重新引发,并且它还避免了线程被"危险"方法保持活着,但我已经看到了两种方法.
你怎么看?是否有任何情况下最好使用一个而不是另一个,或者最好总是使用x?
我正在尝试使用自定义maven wagon扩展来将jar部署到我自己的存储库.我可以在settings.xml中以某种方式配置它识别要与特定货车一起使用的自定义URL方案,还是我必须始终修改pom文件以包含货车扩展?
使用deploy-file时,不需要基本pom或任何可用的pom.Settings.xml是唯一保证存在的地方,但我无法弄清楚如何使用它来定义扩展.
注意我已经问过相关问题:如何组合DataTrigger和EventTrigger?
我有一个包含几个项目的列表框.该项的类实现INotifyPropertyChanged并具有属性IsAvailable.我使用该属性来指示列表中使用不同颜色的不可用选项.
但是,如果所选项目不可用,则前景色应为红色.
<ListBox>
<ListBox.Resources>
<DataTemplate DataType="{x:Type local:InstitutionViewModel}">
<TextBlock Name="Name" Text="{Binding Name}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsAvailable}" Value="False">
<Setter TargetName="Name" Property="Foreground" Value="#888"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.Resources>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我使用上面的数据触发器来灰显不可用的项目.
我面临的问题是,选择项目的事实与模板绑定的基础数据无关.我真正想要的是某种多触发器,它支持Trigger依赖属性(ListBoxItem.IsSelected)上的常规以及DataTrigger绑定数据项.
可以在不将选择概念引入我的视图模型的情况下完成吗?
对于任何想知道我为什么不禁用不可用项目的人,请理解应用程序的要求是可以选择不可用的选项.实际上有几个列表框,其中一个选项会影响其他列表框中的可用内容.我无法禁用这些项目,因为如果根据之前的选择禁用了项目,用户将无法改变主意或探索不同的组合.
我正在使用NetBeans 6.5,由于某种原因它不会生成"开箱即用"的可执行jar.
我将我的项目设置为主项目,在项目属性"运行"菜单中定义主类,当我按F6运行它时,它可以完美地工作.
我查看了清单文件,它确实没有在那里定义主类,也省略了库依赖项.
我错过了什么吗?有没有办法(除了手动更改清单文件)生成可执行的jar文件?
编辑:是的,我尝试了清理和重建,它在dist文件夹中生成了jar,仍然使用相同的manifest.mf
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 10.0-b23 (Sun Microsystems Inc.)
Run Code Online (Sandbox Code Playgroud) 我有一个在我的网站上用PHP创建的上传表单,人们可以上传一个zip文件.然后提取zip文件,并将所有文件位置添加到数据库中.上传表单仅供人们上传图片,显然,文件在zip文件夹中我无法检查文件被提取之前要上传的文件.我需要一段代码来删除所有非图像格式的文件(.png,.jpeg等).我真的很担心人们能够上传恶意的php文件,存在很大的安全风险!我还需要注意人们改变php文件的扩展,试图绕过这个安全功能.
这是我使用的原始脚本http://net.tutsplus.com/videos/screencasts/how-to-open-zip-files-with-php/
这是实际提取.zip文件的代码:
function openZip($file_to_open) {
global $target;
$zip = new ZipArchive();
$x = $zip->open($file_to_open);
if($x === true) {
$zip->extractTo($target);
$zip->close();
unlink($file_to_open);
} else {
die("There was a problem. Please try again!");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢,本.
有没有办法可以针对具有指向ArrayList或List的where子句的数据源(可能是sql,oracle或access)创建查询?
例:
Select * from Table where RecordID in (RecordIDList)
Run Code Online (Sandbox Code Playgroud)
我已经看到了一些方法可以用Linq做到这一点,但如果它可以避免,我宁愿不诉诸它.
我需要制作一个基本的图像查看器.主要关注的是如何实现(在gui组件和图像处理方面)诸如放大,滚动和"手动工具"等功能.
实现这一目标似乎有几种选择,主要区别在于对图形界面框架的责任程度,而不是手动实施.
对我来说两个明显的解决方案是:
1)调整和裁剪图像的可见部分是使用某些图像处理库的功能自行制作的.然后在重写的onPaint()方法中的某个窗口/控件上绘制图像(或它的部分).需要编写滚动条更新(使用'手工工具'时)和操作(直接使用时)代码.
2)包含图像的超大控件(StaticBitmap或其他)放在具有自动滚动的窗口内.然后需要弄清楚如何将图像坐标转换为滚动坐标.
两种方式看起来都很尴尬.任何想法如何以一个整洁的方式做到这一点?或者是我觉得丑陋只是唯一的出路?
我正在使用Python与wxPython/wxWidgets和PIL,但问题在很大程度上是语言和平台无关的.
欢迎使用示例代码和源代码链接(不太臃肿的东西).
我用C++实现了一个类.我想在Python中使用它. 请建议一步一步的方法,并详细说明每一步. 这样的事......
class Test{
private:
int n;
public:
Test(int k){
n=k;
}
void setInt(int k){
n = k;
}
int getInt(){
return n;
}
};
Run Code Online (Sandbox Code Playgroud)
现在,在Python中
>>> T1 = Test(12)
>>> T1.getInt()
12
>>> T1.setInt(32)
>>> T1.getInt()
32
Run Code Online (Sandbox Code Playgroud)
请建议.我怎么能这样做?注意:我想知道手动方式来做到这一点.我不希望任何第三方库依赖.