我看到到处都是如下结构:
int? myVar = null;
string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty;
Run Code Online (Sandbox Code Playgroud)
为什么不简单地使用:
string test = myVar.ToString();
Run Code Online (Sandbox Code Playgroud)
那不完全一样吗?至少Reflector说:
public override string ToString()
{
if (!this.HasValue)
{
return "";
}
return this.value.ToString();
}
Run Code Online (Sandbox Code Playgroud)
那么,这是正确的(较短的版本)还是我错过了什么?
在SQL Server中,如果 nullParam=NULL在where子句中,它总是计算为false.这是违反直觉的,并且给我带来了许多错误.我确实理解IS NULL和IS NOT NULL关键字是正确的方法.但是为什么SQL服务器会以这种方式运行?
使用Python中的列表,我可以使用以下代码返回它的一部分:
foo = [1,2,3,4,5,6]
bar = [10,20,30,40,50,60]
half = len(foo) / 2
foobar = foo[:half] + bar[half:]
Run Code Online (Sandbox Code Playgroud)
由于Ruby在数组中做了所有事情,我想知道是否有类似的东西.
我不清楚"当前"版本的Ruby(1.8)和"新"版本(1.9)之间的差异.是否存在对这些差异的"简单"或"简单"解释以及为何如此不同?
我有一个需要快速性能的程序.在其内部循环之一中,我需要测试对象的类型以查看它是否继承自某个接口.
一种方法是使用CLR的内置类型检查功能.最优雅的方法可能是'is'关键字:
if (obj is ISpecialType)
Run Code Online (Sandbox Code Playgroud)
另一种方法是给基类我自己的虚拟GetType()函数,它返回一个预定义的枚举值(在我的情况下,实际上,我只需要一个bool).这种方法会很快,但不那么优雅.
我听说有一个专门针对'is'关键字的IL指令,但这并不意味着它在转换为本机程序集时执行速度很快.任何人都可以分享一些关于'是'与其他方法的表现的见解吗?
更新: 感谢所有明智的答案!似乎在答案中分散了几个有用的观点:安德鲁关于'是'自动执行演员表的观点是必不可少的,但Binary Worrier和Ian收集的表演数据也非常有用.如果编辑其中一个答案以包含所有这些信息,那就太棒了.
我觉得基于Flash(或基于Silverlight)的网站通常不受欢迎,除非您创建游戏或多媒体内容丰富的应用程序.为什么会这样?
我编写了一个启用了设备管理员(DevicePolicyManager)并安装的应用程序.但是当我想要卸载它时,它会返回失败并显示此消息
WARN/PackageManager(69):不删除包com.mypackage.test:具有活动设备管理员
如何卸载或以程序方式卸载?谢谢.
我正在做一些网页抓取,网站经常使用HTML实体来表示非ascii字符.Python是否有一个实用程序,它接受带有HTML实体的字符串并返回unicode类型?
例如:
我回来了:
ǎ
Run Code Online (Sandbox Code Playgroud)
代表带有音标的"ǎ".在二进制中,这表示为16位01ce.我想将html实体转换为值 u'\u01ce'
我有这个丑陋的代码:
if ( v > 10 ) size = 6;
if ( v > 22 ) size = 5;
if ( v > 51 ) size = 4;
if ( v > 68 ) size = 3;
if ( v > 117 ) size = 2;
if ( v > 145 ) size = 1;
return size;
Run Code Online (Sandbox Code Playgroud)
如何摆脱多个if语句?
c# ×2
html ×2
python ×2
ruby ×2
android ×1
arrays ×1
clr ×1
coding-style ×1
device-admin ×1
entities ×1
flash ×1
gettype ×1
java ×1
line-endings ×1
list ×1
null ×1
nullable ×1
performance ×1
ruby-1.8 ×1
ruby-1.9 ×1
silverlight ×1
slice ×1
sql ×1
sql-server ×1
uninstall ×1