我是C和C++程序员,现在正在尝试学习C#.我已经购买了Wrox出版物的专业C#一书.
在从C迁移到C++时,我怀疑为什么++被添加到C.后来我意识到,因为++是一个增量运算符,它被添加到C只是为了提供一个"面向对象的扩展".
在C#中,有什么意义#?
在.NET中有一个null引用,它在任何地方用来表示对象引用是空的,然后有DBNull数据库驱动程序(和其他几个)用来表示......几乎相同的东西.当然,这会产生很多混乱,转换例程必须被制作出来,等等.
那么为什么最初的.NET作者决定这样呢?对我来说没有任何意义.他们的文档也没有意义:
DBNull类表示不存在的值.例如,在数据库中,表行中的列可能不包含任何数据.也就是说,该列被认为根本不存在而不仅仅是没有值.DBNull对象表示不存在的列.此外,COM interop使用DBNull类来区分VT_NULL变量(表示不存在的值)和VT_EMPTY变量(表示未指定的值).
什么是关于"不存在的列"的废话?存在一列,它只是没有特定行的值.如果它不存在,我会尝试访问特定的单元格,而不是DBNull!我可以理解区分VT_NULL和之间的必要性VT_EMPTY,但是为什么不做一个COMEmpty类呢?这将是整个.NET框架中更适合的.
我错过了什么吗?任何人都可以解释为什么DBNull被发明以及它有助于解决的问题?
很多人都看过流行的AJAX框架(Dojo,jQuery,YUI)的谷歌趋势图.
该图表似乎清楚表明,对Dojo的兴趣在2008年第二季度崩溃,下降了80%; jQuery获得了这个优势,并最终成长为Dojo大小的三倍多.
为什么?2008年第二季发生了什么事情,拆除了对Dojo的兴趣?
(请注意,我对Dojo与jQuery的比较并不感兴趣;即使你能解释为什么一个比另一个好,但很难理解为什么在2008年4月突然变得清晰.)
直到最近我才想到,但我不确定为什么我们称弦strings.我是.NET程序员,但我相信字符串的概念几乎存在于每种编程语言中.
在编程之外,我不相信我听过string用于描述单词或字母的单词.一个快速的Google,'定义:字符串'产生了一系列与字母,单词或与编程相关的任何性质概念无关的定义.
我的猜测是,在当天,字符串实际上只是特定长度的字符数组,最后通常带有分隔字符.但是,我没有看到从'字符数组'到...的自然过渡string.
有人能为我们调用字符串的原因提供一些见解strings吗?
我在我的Git存储库中有一个文件夹,我想搬到自己的存储库中.是否可以将该文件夹的历史记录与文件夹一起移动?
我之前一直在做一个git rm -r --cached subfolder/然后git init在子文件夹上.但是,历史记录不会导入新存储库.
为什么Internet Explorer具有MozillaUserAgent?
在Firefox中它说明:
Mozilla/5.0(Windows NT 6.1; rv:7.0.1)Gecko/20100101 Firefox/7.0.1
在Interner Explorer中它说明:
Mozilla/5.0(兼容; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0 ;. NET4.0E; .NET4.0C)
在一些博客/论坛中提到,这是由于一些历史原因,但原因是什么?
了解它会非常有帮助.
在XML 1.0中有许多不合法编码的字符,例如U+0007('bell')和U+001B('escape').大多数有趣的是非空白的"控制"字符.
从(例如)这个问题和其他问题可以清楚地看出,这是XML规范的问题 - 但是有人可以说明为什么 XML规范禁止这些字符吗?
现在看来似乎可能已要求他们在越狱进行编码,例如,作为与分别,但也许有一个实际的原因的字符被禁止,而不是需要进行转义?
Answerers建议避免传输控制字符有一些动机,但Unicode包含许多其他类似控件的字符(考虑U+200C"零宽度非连接").我认识到这种行为可能没有充分的理由,但我仍然希望更好地理解它.
这特别令人沮丧,因为当这些字符值出现在其他编码数据格式中时,我最终"双重转义"需要对其进行编码的新XML文档.
有时我想重新审视我在短时间内向SVN提交的更改,但不要回想起涉及的具体文件或修订版号.所以我希望看到最近提交消息的列表,理想情况下包括每个提交中包含的文件.
我想到了我工作副本的根目录并输入如下内容,以查看与最近5次提交相关的消息和文件:
svn log -l5 -v *
Run Code Online (Sandbox Code Playgroud)
不幸的是,这个命令需要一个目标,并且不接受'*'.我知道SVN有我想要的信息.有一种简单的方法来检索它吗?
如何在TFS(TFS-2008)中查看特定用户的签到历史记录?
我已经阅读了十几次,因为状态对象可能存在多个键值对,并且它与新的历史条目相关联.但有人可以给我一个状态对象的好处的例子吗?它的实际用途是什么?我无法想象为什么不只是输入{}