9-12泛型 上课笔记 练习题

泛型:是为了代码重用,算法重用。
Dictionary<K,V>
list<T>//T表示一个timp类;就好像是一个占位符,对将来应以的类型进行替代;TkeyTvalue char,char string Peron
list<int> list =new List<int>();
list.Add(10);
//list.Add("dfhdjf");不能为字符型的,list定义成了整型int
定义一个泛型
main()
{
MyList m1=new MyList();
Console.WriteLine(m1[4]);

m1[0]=900
Console.WriteLine(m1[0]);

MyList m2=new MyList();
m2[2]="helloword"
Console.WriteLine(m2[2]);

MyListGeneric<int> numbers=new MyListGeneric<int>(10);
numbers[0]=10;
numbers[1]=20;
numbers[2]=999;
Console.WriteLine(numbers[1]);

MyListGeneric<string> strs=new MyListGeneric<string>();
strs[0]="i";
strs[1]="am";
strs[2]="cry";
Console.WriteLine(strs[1]);

Console.ReadKey();
}
**********************

class MyList
{
int[] arrInt=new int[]{10,20,30,40,50,60,70};
public int this[int index]//当前类的索引
{
get{return arrInt[intdex];}
srt{arrInt[index]=value;}
}
**************************

class MyList
{
string[] arrInt=new string[10];
public string this[int index]//当前类的索引
{
get{return arrInt[intdex];}
srt{arrInt[index]=value;}
}
}
-------------------------------
//添加一个通用的类
class MyListGeneric<T>
{
private T[] arr;
public MyListGeneric(int len)
T[] arrInt=new T[len];
public T this[int index]//当前类的索引
{
get{return arrInt[intdex];}
srt{arrInt[index]=value;}
}
}

7.编写函数进行日期转换,将输入的大写的日期转换成阿拉伯数字的形式
二零一二年三月十三日   2012-3-13

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 日期转换
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.WriteLine("请输入大写日期:");
            string inputCdate = Console.ReadLine();
            Console.WriteLine(DateConvert(inputCdate));
            Console.ReadKey();
        }


        private static string DateConvert(string date)
        {
            Dictionary<char, char> dict = new Dictionary<char, char>();
            string dictionary = "一1 二2 三3 四4 五5 六6 七7 八8 九9 零0";
            string[] parts = dictionary.Split(' ');
           
            //parts[0]="一1"
            for (int i = 0; i < parts.Length; i++)
            {
                dict.Add(parts[i][0], parts[i][1]);
            }

            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < date.Length; i++)
            {
               
                if (dict.ContainsKey(date[i]))
                {
                    sb.Append(dict[date[i]]);
                }
                else if (!dict.ContainsKey(date[i]) && date[i] != '十')
                {
                    sb.Append('-');
                }
                else
                {
                    if(!dict.ContainsKey(date[i-1])&&!dict.ContainsKey(date[i+1]))
                    {
                        sb.Append("10");
                    }
                   else  if (!dict.ContainsKey(date[i - 1]) && dict.ContainsKey(date[i + 1]))
                    {
                        sb.Append('1');
                    }
                   else if (dict.ContainsKey(date[i - 1]) && dict.ContainsKey(date[i + 1]))
                    { }
                    else if (dict.ContainsKey(date[i - 1]) && !dict.ContainsKey(date[i + 1]))
                    {
                        sb.Append('0');
                    }
                }
            }
            return (sb.ToString().TrimEnd('-'));
        
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值