Tag: 值型

比较一个generics与空值可能是一个值或引用types?

public void DoFoo<T>(T foo) where T : ISomeInterface<T> { //possible compare of value type with 'null'. if (foo == null) throw new ArgumentNullException("foo"); } 我故意只检查null,因为我不想限制ValueType等于它的default(T) 。 我的代码编译和工作就这么好(ReSharper抱怨,但不是CodeAnalysis)。 虽然我想知道: 有没有更为标准的方法来处理这种情况? 有没有可能由此产生问题? 当我拨打电话并通过值types时,真正发生了什么?

拳击发生在C#

我试图收集在C#中发生拳击的所有情况: 将值types转换为System.Objecttypes: struct S { } object box = new S(); 将值types转换为System.ValueTypetypes: struct S { } System.ValueType box = new S(); 将枚举types的值转换为System.Enumtypes: enum E { A } System.Enum box = EA; 将值types转换为接口引用: interface I { } struct S : I { } I box = new S(); 在C#string连接中使用值types: char c = F(); string s1 = […]