我刚刚看到这种行为,我对此感到有些惊讶......
如果我向Dictionary添加3或4个元素,然后执行"For Each"以获取所有键,它们将按照我添加它们的相同顺序显示.
这让我感到惊讶的原因是一个字典在内部应该是一个HashTable,所以我期望事情以任何顺序出现(按键的哈希排序,对吧?)
我在这里错过了什么?这是我可以依靠的行为吗?
编辑:好的,我已经想到了为什么会发生这种情况的许多原因(比如条目的单独列表,这是巧合等).我的问题是,有谁知道这是如何工作的?
有没有办法直接编译.vbproj或.csproj项目文件,就像Visual Studio一样?
在Visual Studio中编译时,"输出"窗口显示对编译器的实际调用,通常如下所示:
vbc.exe [一堆选项] [looooong .vb文件列表]
我想以编程方式调用"某事"来获取.vbproj文件并执行Visual Studio所做的任何操作来生成这个长命令行.我知道我可以自己解析.vbproj并生成该命令行,但我宁愿保存自己所有的逆向工程和反复试验......
有没有工具可以做到这一点?我宁愿能够在没有安装Visual Studio的情况下在机器上完成它.但是,如果有一种方法可以使用某些参数来调用Visual Studio,那么那也没关系.
我简要地看了一下MSBuild,看起来它的工作原理是我必须特别制作的.proj项目文件,并且我每次将文件添加到.vbproj文件时都需要更新.(我确实简要地看了一下,所以我很可能错过了一些重要的事情)
任何帮助将不胜感激
我目前正在使用mySQLdump备份我的开发机器和服务器.
我刚开始有一个项目,它有一个我真的不需要备份的HUUUUUGE数据库,而且将它添加到剩余的备份周期中我将是个大问题.
我现在正在这样做:
"c:\Program Files\mysql\MySQL Server 5.1\bin\mysqldump" -u root -pxxxxxx --all-databases > g:\backups\MySQL\mysqlbackup.sql
Run Code Online (Sandbox Code Playgroud)
有可能以某种方式指定"除了这个数据库"吗?
我不想手动指定DB列表,因为这意味着我必须记住每次创建新数据库时更新我的备份批处理文件,我知道这不会发生.
编辑:你可能从我上面的命令行猜到,我在Windows上这样做,所以我不能做任何花哨的bash东西,只有懦弱的.bat的东西.
或者,如果您有其他想法来解决同样的问题,那么它们非常受欢迎,当然!
我最近阅读了整本龙书(只是为了好玩,我真的不打算实现一个真正的编译器),而且我的脑子里还悬着这个大问题.
实现编译器和解释器有什么不同?
对我来说,编译器由以下部分组成:
现在,显然,解释器也具有与编译器相同的词法分析器和解析器.
但那之后呢?
它是否"读取"语法树并直接执行它?(有点像指针指向树中的当前节点,执行是一个大树遍历加上调用堆栈的内存管理)(如果是这样,它是如何做到的?我希望执行比检查它是什么类型的节点的巨大switch语句更好
它会生成3个地址代码并解释它吗?(如果是这样,它是如何做到的?再次,我正在寻找比一英里长的开关声明更优雅的东西)
此外,"虚拟机"的概念在哪一点上切入?你在一种语言中使用虚拟机是什么?(要清楚我的无知程度,对我来说虚拟机是VMWare,我不知道VM的概念如何应用于编程语言/执行程序).
如你所见,我的问题非常广泛.我主要不仅要寻找使用哪种方法,而且主要是先了解大概念,然后详细了解它的工作原理.我想要丑陋的原始细节.显然,这更像是对要阅读的东西的追求,而不是期望你在这里回答所有这些细节.
谢谢!
丹尼尔
编辑:感谢您的答案到目前为止.我意识到我的头衔有误导性.我理解编译器和解释器之间的"功能"差异.
我正在寻找的是你如何实现解释器与编译器的区别.
我现在明白如何实现编译器,问题是解释器与此有何不同.
例如:VB6显然既是编译器又是解释器.我现在了解编译器部分.但是,我无法理解,当在IDE内部运行时,它可以让我在任意点停止程序,更改代码,并使用新代码继续执行.这只是一个很小的例子,它不是我正在寻找的答案.正如我在下面解释的那样,我想要理解的是在我有一个解析树之后会发生什么.编译器将以"目标"语言从中生成新代码.口译员做什么?
谢谢您的帮助!
我试图找到我可以设置的所有可能的选项web.config.令人惊讶的是,我根本找不到这个.我预计它会在MSDN内部.
我知道我可以在技术上添加"任何东西" web.config,我正在寻找的是.NET Framework"随附"所使用的东西.
特别是,现在我对该<mailsettings>部分感兴趣.
例如,在我发现的许多例子中,我注意到它们已经设定DeliveryMethod="Network".我真的很好奇这个属性可以采用的其他值.
是否有关于所有属性及其所有值的文档,以及它们具有的所有效果?
我目前需要在SSL下的同一个域下拥有2个子域.
这两个子域(www和affiliate)位于同一个IIS服务器上,位于相同的IP下,并且每个子域都指定了主机头值(www.mydomain.com和affiliate.mydomain.com)
默认情况下,第一个子域(www)运行良好,有和没有SSL.
第二个子域在HTTP下工作得很好.
问题是我刚购买并安装了联盟子域的SSL证书,当你转到https://affiliate.mydomain.com时,你会被重定向到http://www.mydomain.com
我猜这个问题在于我无法为SSL指定主机头值?(我通常设置主机头值的对话框底部没有该选项,专用于SSL).
我该怎么办?我应该在单独的IP中使用每个子域吗?这根本不可行吗?
谢谢!丹尼尔
关于window.top.Location对象的跨域策略有一个非常特殊的边缘情况......
假设我在域名www.bbb.com中有IFrame A,住在域名www.aaa.com的页面内.
IFrame中的页面可以:
但它不能:
这些只是我能很快找到的.我确定还有其他边缘情况.
似乎浏览器不允许使用top.location对象,如果top在另一个域中,除了一些列入白名单的东西......
这记录在哪里?
我可以找到这些列入白名单的东西吗?
这是HTML标准,并在所有浏览器中同样实现?或者是这种半随机的实现?
我最近继承了为生产网站维护一个庞大而丑陋的代码库.把你的眼睛弄得很难看.虽然它很大,但它主要是PHP代码,除了UI中的一些"ajaxy"之外,它没有太多的JS.
我们当前的主要问题是网站太重了.主页目前的重量为1.6 Mb,所以我试图清理一些东西.
其中一个主要的浪费是每个页面都包含jQuery UI库,但我认为它根本不被使用.它绝对不会在主页和大多数页面中使用,所以我只想包含必要的内容.
我对jQuery并不是很熟悉,我更像是一个原型人,所以我很想知道.有什么我可以搜索的,让我知道jQuery UI在哪里使用?
我正在寻找的是"常见字符串",组件名称等
例如,如果这是scriptaculous,我会寻找像"Draggable","Effect"等等的东西.对jQuery UI的任何建议?
(当然,如果你能想到一种更强大的方法,可以在不破坏所有内容的情况下从不使用它的页面中删除标签,我很乐意听到它)
谢谢!!丹尼尔
我有以下代码:
render json: { image: image }
Run Code Online (Sandbox Code Playgroud)
图像具有属性"url".让我们说它是:
https://blah.com/a?A=B&C=D
Run Code Online (Sandbox Code Playgroud)
渲染时,这就是我得到的:
{"image":{"url":"https://blah.com/a?A=B\u0026C=D"}}
Run Code Online (Sandbox Code Playgroud)
&符号被编码为\ u0026
有没有办法避免这种编码?
我是Entity Framework和ASP.Net MVC的新手,他们大部分都是从教程中学到的,而且对这两者都没有深刻的理解.(我确实有.Net 2.0,ADO.Net和WebForms的经验)
我目前的疑问来自于我实体化实体对象的方式.
基本上我在我的控制器中这样做:
public class PostsController : Controller {
private NorthWindEntities db = new NorthWindEntities();
public ActionResult Index() {
// Use the db object here, never explicitly Close/Dispose it
}
}
Run Code Online (Sandbox Code Playgroud)
我这样做是因为我在一些MSDN博客中发现它对我来说似乎具有权威性,我认为这是一种正确的方法.
但是,我觉得这很不容易.虽然它为我节省了很多代码,但我习惯这样做:
using (NorthWindEntities db = new NorthWindEntities() {
}
Run Code Online (Sandbox Code Playgroud)
在每个需要连接的方法中,如果该方法调用其他需要它的方法,它会将db作为参数传递给它们.这就是我在Linq-to-SQL存在之前用连接对象完成所有操作的方法.
让我感到不安的另一件事是NorthWindEntities实现了IDisposable,按照惯例,我应该调用它的Dispose()方法,而我不是.
你怎么看待这件事?
像我一样实例化实体对象是否正确?是否应该通过为每个查询打开和关闭它们来处理它的连接?
或者我应该使用using()子句显式处理它?
谢谢!
.net ×1
ampersand ×1
asp.net ×1
backup ×1
compilation ×1
connection ×1
cross-domain ×1
csproj ×1
dictionary ×1
dispose ×1
encoding ×1
hashtable ×1
https ×1
iframe ×1
iis ×1
interpreter ×1
javascript ×1
jquery ×1
jquery-ui ×1
json ×1
mysqldump ×1
security ×1
ssl ×1
subdomain ×1
vb.net ×1
web-config ×1
windows ×1