相关疑难解决方法(0)

程序化等效的默认值(类型)

我正在使用反射来遍历一个Type属性并将某些类型设置为默认值.现在,我可以对类型进行切换并default(Type)明确设置,但我宁愿在一行中进行.有默认的程序化等价物吗?

c# reflection default

492
推荐指数
10
解决办法
13万
查看次数

运行时类型的默认值

对于任何给定的类型,我想知道它的默认值.

在C#中,有一个名为default的关键字,就像这样做

object obj = default(Decimal);
Run Code Online (Sandbox Code Playgroud)

但我有一个Type(称为myType)的实例,如果我这样说,

object obj = default(myType);
Run Code Online (Sandbox Code Playgroud)

它不起作用

这样做有什么好办法吗?我知道一个巨大的开关块可以工作,但这不是一个好的选择.

c# types default

148
推荐指数
4
解决办法
8万
查看次数

确保变量初始化C#

考虑以下代码:

public string Variable1 { get; set;}
public int Variable2 { get; set;}

public void Function()
{
 // Has been Variable1 Initialized?
}
Run Code Online (Sandbox Code Playgroud)

在函数内部,我想知道在函数调用之前是否已将值发送到Variable1和Variable2,

即使已发送DEFAULT值,也没问题(对于字符串为null,对于int为0)

.net c# variables instance-variables

7
推荐指数
1
解决办法
244
查看次数

C#:如何找到运行时类型的默认值?

因此,您可以在代码中使用静态类型

var defaultMyTypeVal = default(MyType);
Run Code Online (Sandbox Code Playgroud)

在给定变量Type的情况下,您会如何做同样的事情,以便在运行时使用它?

换句话说,如何在没有一堆if语句或使用Generics的情况下实现以下方法(因为我不知道我在编译时传入方法的类型)?

public object GetDefaultValueForType(Type type) {
  ....
}
Run Code Online (Sandbox Code Playgroud)

c# strong-typing

6
推荐指数
1
解决办法
407
查看次数