public static class Test2
    {
        //数组 转成(拼接)  字符串;
        public static string CompoundString<T>(T[] arr)
        {
            string str = "";//null;
            foreach (T t in arr)
            {
                str += (t.ToString() + " ");
            }
            return str;
        }

}

public class Test {
         //冒泡排序                                               //实现接口
        public static void Sort <T> (T[] array) where T : IComparable{
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = 0; j < array.Length - i - 1; j++)
                {
                    if (array[j].CompareTo(array[j+1]) == 1)
                    {
                        T temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }

}
            //foreach (T i in array)
            //{
            //    Console.WriteLine(i);
            //}
        }
    }

//结构体
    public struct STest : IComparable
    {
        public float s;

public int CompareTo(object obj)
        {
            STest st = (STest)obj;
            //自己写的比较
            if (this.s > st.s)
            {
                return 1;
            }
            else if (this.s < st.s)
            {
                return -1;
            }
            else
            {
                return 0;
            }

}
    }
    class MainClass
    {
        public static void Main(string[] args)
        {
           string str = Test2.CompoundString<string>(new[] { "jiangkai", "shi", "sb" });
            Console.WriteLine(str);

Test.Sort<string>(new[]{"dfsd","jkm","Dhf","erter"});
            Test.Sort<int>(new[]{767,342,3,12,4545,1});

STest st_1 = new STest();
            st_1.s = 12f;
            STest st_2 = new STest();
            st_2.s = 24f;
            STest st_3 = new STest();
            st_3.s = 65f;

int a = st_1.CompareTo(st_2);
            Console.WriteLine(a);
            //结构体数组
            STest [] st = { st_1, st_2, st_3 };
             
            Test.Sort<STest>(st);
            foreach (STest i in st)
            {
                Console.WriteLine(i.s);
            }

}
    }

lwj_C#_泛型使用相关推荐

  1. 复习Collection_迭代器使用细节_泛型_综合案例

    Collection_迭代器使用细节_泛型_综合案例 主要内容 Collection集合 迭代器 增强for 泛型 第一章 Collection集合 1.1 集合概述 集合:集合是java中提供的一种 ...

  2. 【C#】集合_哈希表_字典_泛型_文件

    数组能做到:存放同种类型数据,且数据个数确定 object类型的数组能满足:放各种类型的数据,确定放多少个,但是随意插入元素,数组做不到 集合能做到:存放各种数据类型,且不确定存放多少个,能做到随意插 ...

  3. print arraylist 显示的不是内容_泛型数组列表 java.util.ArrayListlt;Egt;

    泛型数组列表 java.util.ArrayList<E> ArrayList<E>(int initialCapacity) // 用指定容量构建一个空数组列表 ArrayL ...

  4. 泛型方法的定义和使用_泛型( Generic )

    泛型(Generic) 1. 泛型概述 泛型是一个未知的, 不确定的数据类型. 比如ArrayList 中的E, 就是一个未知的不确定的数据类型, 那么他就是一个泛型 泛型虽然是一个未知的, 不确定的 ...

  5. Java千百问_05面向对象(012)_泛型是什么

    1.什么是泛型 泛型是Java SE 1.5的新特性,泛型即参数化类型,也就是说所操作的数据类型被指定为一个参数.  这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法.  ...

  6. C#基础加强_泛型的基本原理

    小弟初写博文,深感"易敲千行码,难下百余文"的道理. 内容粗略浅薄,望各位大神海涵! 动态数组ArrayList可以实现不断的增长,让我们感受到了在某些地方较数组有优越感.但它包含 ...

  7. 获取list泛型_泛型

    泛型 什么是泛型?为什么使用泛型? 泛型的出现意味着编写的代码可以被不同类型的对象所重用,提升了代码的重用性.泛型的本质是参数化类型,即将所需操作的数据类型设置为一个参数. 举个实际中的栗子:我们需要 ...

  8. java 泛型 协变_泛型的逆变与协变

    一.类型擦除(Type Erasure) Java的泛型本质上不是真正的泛型,而是利用了类型擦除,比如下面的代码就会出现错误: 报的错误是:both methods have same erasure ...

  9. 4_常用类_集合_泛型

    JavaSE_第四周 包装类 基本类型 包装类类型(引用类型:默认值都是null) byte Byte short Short int Integer long Long float Float do ...

  10. SCJP笔记_章七_泛型与集合

    第七章 泛型与集合 7.1 重写hashCode()和equals()方法 考试目标6.2 区分hashCode()和equals()方法的正确设计和错误设计,并解释 == 和equals()方法的不 ...

最新文章

  1. 夏日里的激情——FE鹅和鸭农庄行
  2. Centos6下安装中文字体
  3. bidirectional pathtracing算法学习
  4. 利用python爬虫(part12)--随机获取UserAgent
  5. java调用android_Java及Android中常用链式调用写法简单示例
  6. Mybatis 输出映射
  7. Spring Security构建Rest服务-0600-SpringSecurity基本原理
  8. python基础篇——集合
  9. c#2.0 IEnumberable接口
  10. 六度分离 HDU - 1869 (最短路径)
  11. 拉格朗日对偶(Lagrange duality)
  12. 软件工程需求分析阶段_正在进行的过程的7个阶段:需求工程
  13. 道路设计基础知识,让你一秒变大师
  14. Win10最美SSH工具
  15. 20210610 线程数不断飙升问题定位
  16. 编程程软件测试学院3周年 为你破解入职大厂的终极奥秘
  17. 什么是Timestamp——时间戳?
  18. ExtJs xtype的使用
  19. 小明一家过桥,过桥时是黑夜_过桥:如何过渡到软件开发的职业
  20. 问题 I: 水流问题

热门文章

  1. ZOJ 3880 Demacia of the Ancients
  2. PHP编写Android初步
  3. 计算机桌面图标往左进去只能看见一半,win7系统桌面图标只显示一半另外一半显示别的程序的解决方法...
  4. PicGo搭建Gitee图库
  5. gamit如何添加新的天线类型
  6. 两个mysql 数据库表结构_MYSQL对比两个数据库表结构
  7. java 树什么意思是什么意思是什么意思_什么是红黑树?看完这篇你就明白了!...
  8. android gridview 选择变色 再点击还原 并支持多选。记录贴 01
  9. 【Latex学习】Latex中插入超链接/网址
  10. HSV颜色空间中颜色(红、黄、绿、 青、蓝、紫、 粉红、 砖红、 品红)对应的灰度范围