至于最佳实践,使用之间是否存在有意义的差异:
Double d;
Run Code Online (Sandbox Code Playgroud)
和
double d;
Run Code Online (Sandbox Code Playgroud)
我知道最佳实践充满了矛盾,所以我知道答案可能会有所不同.我只是想知道两者之间的实用差异.
我们的开发团队正在进行一场战斗.我很想听听别人对此的看法.
虽然我目前正在使用C#,但这个问题可能适用于其他语言.
调用Object与object?之间有什么区别吗?具体来说,我正在Dictionary使用构造函数创建一个实例:
Dictionary<String, Object> foo = new Dictionary...
Run Code Online (Sandbox Code Playgroud)
IDE自动填写new Dictionary<string, object>.我回去改变了我的初步声明,但它让我感到疑惑.
String或Object小写string或object?时,是否有任何不良反应?在C#6.0中,您可以这样写:
var instance = default(object);
var type = typeof(object);
Run Code Online (Sandbox Code Playgroud)
他们有相同的结果:
var instance = default(System.Object);
var type = typeof(System.Object);
Run Code Online (Sandbox Code Playgroud)
但你不能写这个:
var name = nameof(object);
Run Code Online (Sandbox Code Playgroud)
它会生成以下错误:
表达式术语"对象"无效.
但是你仍然可以这样写:
var name = nameof(System.Object);
Run Code Online (Sandbox Code Playgroud)
为什么nameof(object)不编译?
在下面的2个链接中,我发现Object和object是可以互换的:
c#:"System.Object"和"object"之间的区别
但我只是无法理解为什么我不能使下面的代码工作,如果对象和对象是可以互换的:
与"对象"无关的代码:
class A : Object
{
public int x = 5;
}
class B : A
{
static void Main()
{
System.Console.WriteLine(new B().x);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
无法找到类型或命名空间名称"对象"(您是否缺少using指令或程序集引用?)
与"对象"一起使用的代码:
class A : object
{
public int x = 5;
}
class B : A
{
static void Main()
{
System.Console.WriteLine(new B().x);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
五
这些天我正在为Web应用程序做很多C#编程.我的团队还没有决定是否应该使用基类型或复杂类型.
不同类型的优点是什么?
Feks:
Object vs object
Boolean vs bool
Run Code Online (Sandbox Code Playgroud)
等等...
谢谢!