让我们列出你发布优秀和最喜欢的扩展方法的答案.
要求是必须发布完整代码并提供示例和如何使用它的说明.
基于对该主题的高度关注,我在Codeplex上设置了一个名为extensionoverflow的开源项目.
请标记您的答案并接受将代码放入Codeplex项目中.
请发布完整的源代码而不是链接.
Codeplex新闻:
24.08.2010 Codeplex页面现在在这里:http://extensionoverflow.codeplex.com/
11.11.2008 XmlSerialize/XmlDeserialize现在已实现并且已经过单元测试.
11.11.2008仍有更多开发人员的空间.;-) 现在加入!
11.11.2008第三个贡献者加入了ExtensionOverflow,欢迎来到BKristensen
11.11.2008 FormatWith现在已实现且已经过单元测试.
09.11.2008第二个贡献者加入了ExtensionOverflow.欢迎来到chakrit.
09.11.2008我们需要更多开发人员.;-)
我需要在对象和NULL之间进行比较.当对象不是NULL时,我用一些数据填充它.
这是代码:
if (region != null)
{
....
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是当某些时候循环和循环时,region对象是非null(我可以在调试模式下看到其中的数据).在调试时一步一步,它不会进入IF语句...当我使用以下表达式进行快速监视时:我看到(region == null)返回false,AND(区域!= null )也返回错误... 为什么以及如何?
更新
有人指出对象是==和!=重载:
public static bool operator ==(Region r1, Region r2)
{
if (object.ReferenceEquals(r1, null))
{
return false;
}
if (object.ReferenceEquals(r2, null))
{
return false;
}
return (r1.Cmr.CompareTo(r2.Cmr) == 0 && r1.Id == r2.Id);
}
public static bool operator !=(Region r1, Region r2)
{
if (object.ReferenceEquals(r1, null))
{
return false;
}
if (object.ReferenceEquals(r2, null))
{
return false;
}
return (r1.Cmr.CompareTo(r2.Cmr) != 0 || r1.Id != r2.Id); …Run Code Online (Sandbox Code Playgroud) 在探索msdn站点时,他们使用的大多数条件检查位置(NULL == bCondition).
使用这些符号的目的是什么?
请提供一些样品来解释这些.
谢谢.
我正在查看一些代码,我发现了一些奇怪的条件,即:
if (NULL != buf) {...}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一个特殊的原因写这样的条件,而不是
if(buf != NULL){...}
Run Code Online (Sandbox Code Playgroud)
我看不出有任何理由在头顶上做第一条道路,但我认为这不是一个错误.对我来说,似乎他们完成了同样的事情,但第二种方式更直观.是否有一些特定的理由使用第一个条件?
我见过两者
if(something == null)
Run Code Online (Sandbox Code Playgroud)
和
if(null == something)
Run Code Online (Sandbox Code Playgroud)
这个空检查发生的顺序是否有所不同?我没有看到功能上的差异,但很想知道它背后是否有推理.
c# ×3
c ×2
.net ×1
c++ ×1
compare ×1
conditional ×1
if-statement ×1
null ×1
oop ×1
open-source ×1
syntax ×1