深入理解 c# 第三章 用泛型方法将一个给定的值进行比较
2018-04-06 16:56
691 查看
class DefaultValueComparison { static int CompareToDefault<T>(T value) where T : IComparable<T> { return value.CompareTo(default(T)); } static void Main() { Console.WriteLine(CompareToDefault("x")); Console.WriteLine(CompareToDefault(10)); Console.WriteLine(CompareToDefault(0)); Console.WriteLine(CompareToDefault(-10)); Console.WriteLine(CompareToDefault(DateTime.MinValue)); } }泛型方法使用三种不同类型 string, int, DateTime
string的默认是null
int的默认是0
DateTime.MinValue 的默认是 DateTime.MinValue
x大于null
10大于0
0等于0
-10小于0
DateTime.MinValue等于DateTime.MinValue
输出
1
1
0
-1
0
相关文章推荐
- 深入理解 c# 第三章 通过反射来调用和获取泛型方法
- 深入理解 c# 第三章 用== 和 != 进行引用比较
- 深入理解 c# 第三章 普通的类中声明和使用泛型方法
- 深入理解 c# 第三章 泛型枚举 从0枚举到9
- 深入理解 c# 第三章 获取泛型类型定义和获取特定的已构造类型
- 深入理解 c# 第五章 从匿名方法内外访问一个变量
- 深入理解 c# 第五章 从匿名方法返回一个值 求余数
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- [C# 基础知识系列]专题九: 深入理解泛型可变性
- .NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析
- 我们公司接到了一个比较大的IT软件项目,由于项目时间紧急,我们想采用有非常手段、非常方法,不自己进行全部的开发工作。
- C# 语言特性系列(5) 深入理解重写方法 override
- [C# 基础知识系列]专题七: 泛型深入理解(一)
- [C# 基础知识系列]专题九: 深入理解泛型可变性
- C#中利用泛型扩展方法辅助枚举类型进行Flags处理
- [C# 基础知识系列]专题七: 泛型深入理解(一)
- .NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- .NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析
- 理解 Delphi 的类(十) - 深入方法[24] - 方法是一个指针