摘要:
.net core实现了依赖注入,虽然可以满足大部分的场景了,但是还是有许多不足,其中之一就是实现带名称服务的依赖注入。 举个例子,比如有下面的接口和它的实现类: public interface IPerson { string Say(); } public class Person1 : IP 阅读全文
摘要:
三元运算符(?:) 三元运算符应该都很熟,通常我们也可以使用if-else来代替三元运算,这一点就不多说了,一个简单的例子: //取一个0.5-1之间的随机值 var value = new Random().NextDouble(); value = value < 0.5 ? 0.5 + val 阅读全文
摘要:
大多数编程语言都支持显示转换,也称为强制转换,它与隐式转换相呼应,比如,一般的,整型可以通过隐式转换成浮点型,而浮点型需要通过强制转换成整型: int i = 32; double d = i;//整型隐式转换成浮点型 int j = (int)d;//浮点型显示转换成整型 目前,C#中可用的隐式转 阅读全文
摘要:
你是否考虑过这个问题:为什么不同类型之间的变量可以赋值,而不需要强制转换类型?如: int i = 1; long l = i; object obj = 1; Exception exception = new ArgumentNullException(); Array array = new 阅读全文
摘要:
C#的类型转换分为显式转换和隐式转换,显式转换需要自己声明转换类型,而隐式转换由编译器自动完成,无需我们声明,如: //long需要显式转换成int long l = 1L; int i = (int)l; //int可以隐式的转换成long int i = 1; long l =; 我们还可以自定 阅读全文
摘要:
在C#中,方法、构造函数可以拥有参数,当调用方法或者构造函数时,需要提供参数,而参数的传递方式有两种(以方法为例): 值传递 值类型对象传递给方法时,传递的是值类型对象的副本而不是值类型对象本身。常用的一个例子: public struct MyStruct { public int Value { 阅读全文